SOAP Protocol

250

Solutions

362

Contributors

Simple Object Access Protocol (SOAP) is a protocol specification for exchanging structured information in the implementation of web services. It uses the XML Information Set for its message format and uses other protocols, notably Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP) for message transmission.

Share tech news, updates, or what's on your mind.

Sign up to Post

Trying to consume webservice using wcf client, getting following error

The content type multipart/related; boundary=MIMEBoundaryurn_uuid_B50EC784A204DC07C91495512014914; type="text/xml"; start="<0.urn:uuid:B50EC784A204DC07C91495512014915@apache.org>"; charset=utf-8 of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the  . The first 1024 bytes of the response were ...

Fiddler is showing the complete response but wcf is not able to deserialize the complete response. Response contains Japanese characters.
0
[Webinar] Learn How Hackers Steal Your Credentials
LVL 8
[Webinar] Learn How Hackers Steal Your Credentials

Do You Know How Hackers Steal Your Credentials? Join us and Skyport Systems to learn how hackers steal your credentials and why Active Directory must be secure to stop them. Thursday, July 13, 2017 10:00 A.M. PDT

Example for WinRM  API using SOAP
0
Hi,

I am going through below link
https://www.ibm.com/developerworks/library/ws-whichwsdl.
which wsdl binding style to use which time. i wonder which wsdl element wraps all operations?
 Please advise
0
Here is my code :


import java.io.StringReader;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
import org.springframework.ws.client.WebServiceIOException;
import org.springframework.ws.client.core.WebServiceTemplate;
import org.springframework.ws.soap.client.SoapFaultClientException;
import org.springframework.ws.soap.client.core.SoapActionCallback;

public class SpringWSClientSample {

      private static final String MESSAGE = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope\" xmlns:web=\"http://www.webserviceX.NET\">"
                  + "<soapenv:Header>"
                  + "</soapenv:Header>"
                  + "<soapenv:Body>"
                  + "<web:ChangeMetricWeightUnit>"
                  + "<web:MetricWeightValue>40000</web:MetricWeightValue>"
                  + "<web:fromMetricWeightUnit>milligram</web:fromMetricWeightUnit>"
                  + "<web:toMetricWeightUnit>gram</web:toMetricWeightUnit>"
                  + "</web:ChangeMetricWeightUnit>"
                  + "</soapenv:Body>"
                  + "</soapenv:Envelope>";

      private final WebServiceTemplate webServiceTemplate = new WebServiceTemplate();

      public static void main(String[] args) throws Exception {

            SpringWSClientSample client = new SpringWSClientSample();
            client.simpleSendAndReceive();
      }

      public void simpleSendAndReceive() {
            try {
                  StreamSource source = new StreamSource(new StringReader(
                              MESSAGE.toString()));
                  StreamResult result = new StreamResult(System.out);
                  
0
Good afternoon all,

Any help here would be greatly appreciated.  I have a web service that is located on a production server that has load balancing.  Server xx1 and xx2.   This is a public facing web server that used to be reachable via http.  Now we are required to use secure http.  Our webmaster has set up a redirect from http to https that JAX does not seem to like.  

When I run the webservice locally the schemaLocation that is inside the xsd:schema is http://localhost...?xsd=1  When I copy this exact same code to our staging area the schemaLocation becomes https://stagingserver...?xsd=1.  For some reason when it is copied to the production server the schemaLocation becomes http://productionwebaddress...?xsd=1.  I need to know what I need to configure to get this to be https://productionwebaddress...?xsd=1.

It is a linux, RH7, server running Tomcat V8.  I am merely a software developer so if you need more info then ask away and I will try and get the answers.  I don't know everything that I should post.

The full error is:  com.sun.xml.internal.ws.client.ClientTransportException: The server sent HTTP status code 302: Found
0
I am using CXF, my question is two folds:

1) How can I generate a custom soap header for an outgoing response?

2) How can I inject some value from the implementation function?
0
When I run gSOAP client it gives me error :

"Validation constraint violation: tag name or namespace mismatch in element 'com.at.ecbs.CI19.GetOrderDetailsOutput'" Detail: [no detail]

But below is RECV.log :

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<SOAP-ENV:Envelope xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                   SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                   xmlns:typens="http://si.nat.at.com/WSAI/STAA/type/"
                   xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Body>
   <ns1:getOrderDetailsResponse xmlns:ns1="com.at.ecbs.CI19.CustomerInformation">
    <com.at.ecbs.CI19.GetOrderDetailsOutput>
      <supplCode>I25101</supplCode>
      <supplText>Order details extract successful</supplText>
      <pck>PCK&lt;01069FSGetOrderDetls3OSD1234567892017777777102126820072FlowStream123456</pck>
    </com.at.ecbs.CI19.GetOrderDetailsOutput>
   </ns1:getOrderDetailsResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Client code option set :

soap_mode iomode(SOAP_IO_KEEPALIVE| SOAP_XML_STRICT | SOAP_XML_TREE | SOAP_XML_IGNORENS);
 soap_mode omode(SOAP_IO_KEEPALIVE | SOAP_XML_TREE | SOAP_XML_DEFAULTNS );
 SOAP_CMAC::com_x002ebt_x002eecbs_x002eCI19_x002eCustomerInformationSoapBindingProxy …
0
I have a Drools Rule file which processes some business logic based on input from a java file and gives back output back to Java.

I need to get the response in a web service request and response format by passing data in SOAP format and snd get SOAP response. How can we do that?
0
Hi,
I am trying to create a SOAP Request xml from xpath map using membrane-soa api. If I try to set more than 10 values for unbound list I am not able to generate the tags for the values that are set beyond size of 10. Can any tried this? Can you please help?

Dharma
0
I am calling webservice to see next and coming up games for a certain soccer club ( it is Icelandic :) ).  I have working fla file where I call for status in a tournament,  with one variable in the request ( the number of tournament)
The code from that file:
import alducente.services.WebService;
import flash.events.*;

var ws:WebService = new WebService();
ws.addEventListener(Event.CONNECT, connected);
ws.connect("http://www2.ksi.is/vefthjonustur/mot.asmx?WSDL");
ws.cacheResults = true;
var initTime:Number;
function connected(evt:Event):void{
	ws.MotStada(done, "33903");	//called for "MotStada"(status in the tournament)"number of tournament",  
}
function done(serviceResponse:XML):void{
	namespace soap = "http://schemas.xmlsoap.org/soap/envelope/";
	namespace unnamed = "http://www2.ksi.is/vefthjonustur/mot/";
	use namespace soap;
	use namespace unnamed; 
	trace("\nWeb Service Result: ");
	trace(serviceResponse);
}

Open in new window


But for this I need to put in more, as shown in the example http://www2.ksi.is/vefthjonustur/mot.asmx?op=FelogLeikir 
How is that done?
Here is what I have done so far:

import alducente.services.WebService;
import flash.events.*;
var ws:WebService = new WebService();
ws.addEventListener(Event.CONNECT, connected);
ws.connect("http://www2.ksi.is/vefthjonustur/mot.asmx?WSDL");
//more info at http://www2.ksi.is/vefthjonustur/mot.asmx?op=FelogLeikir
//Call for games coming up for a club

ws.cacheResults = true;
var initTime:Number;
function connected(evt:Event):void{
	ws.FelogLeikir(done,"107"); /*<FelagNumer>String=107, <VollurNumer>String=All/not defined,<FlokkurNumer>String=111,<DagsFra>String=date from today, <DagsTil>String=date after ca 2months */
}
function done(serviceResponse:XML):void{ 
	trace("\nWeb Service Result: ");
	trace(serviceResponse);
}

Open in new window

0
Free Tool: Subnet Calculator
LVL 8
Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

I have a Java Soap Client that send some xml files to a remote server to be processed.

It uses java 1.7's java.nio.file.WatchEvent<Path> (almost just like it's explained here) to monitor new files added to a directory.

It is processing about 2 or 3 files per minute.

Looking for a way to increase the speed of files sent and processed I decided to start the same jar twice, monitoring different directories of course.

I can't explain why both processes are still processing about 2 or 3 files per minute. I doubt the problem is in the remote server, since I have a log showing the moment when each file begins and ends it's processing, and it shows almost the same behavior when using only one linux process than when using two.

I mean the total throughput is the same when using only one linux process than when using two.

The size of the xml's are almost always about 8KB.

I'm guessing there should be a bottleneck somewhere other than CPU.

Any suggestions on what tool or tools should I use to find it and how to use them? (Remember, it's a Java application)

I would prefer to use free or openSource tools, but I could consider using a paid one.

Thanks
0
Hi, I'm calling a SOAP Webservice via one class, using Keystore and I had the error below

Exception in thread "main" javax.net.ssl.SSLHandshakeException: Server chose SSLv3, but that protocol version is not enabled or not supported by the client.


The SOAP Client class
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.URL;
import java.net.URLConnection;
import java.security.InvalidKeyException;
import java.security.KeyManagementException;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.SignatureException;
import java.security.UnrecoverableKeyException;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;
import javax.xml.soap.MessageFactory;
import javax.xml.soap.MimeHeaders;
import javax.xml.soap.SOAPBody;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.SOAPEnvelope;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPMessage;
import 

Open in new window

0
Hi ,
I am making load test for webservice and to hit it , I m using below payload.Now to run the load every time I need to get the new UUID and pass this to below xml before jmeter post it.
Can you please let me know that how in jemter we can get UUID at the same time, passed to payload and send request and for another request it will generate another uuid and send request
 BeanShell processor is a option but if anyone already worked on it please share.

<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"">
   <env:Header/>
   <env:Body>
         <TransactionId>MSG10123147285</TransactionId>
         <UUID>e848f2a9-9da9-4e25-8236-97863e308b37</UUID>
         <Name>
            <FirstName>TEST</FirstName>
            <MiddleName>TESTA</MiddleName
                  <Name/>
      <env:Body/>
0
I am using SOAPUI Mock Service to mock as soap service. I am able to make everything work where based on request I return certain response with csv attachments.

Now I want to expand this dynamically where based on the request, I want to parse some existing file than add it as attachment to  my response.
Is this possible in SOAPUI using Script,etc
0
You are a linguistic working at an e-books distributor. Your management has interest in finding out if commonly used words used in a book make the books more popular, therefore more books would be sold if the number of commonly used words in the book is higher. They believe that this fact would allow them to tailor their sales and marketing more closely to what would be purchased rather than just relying on the popularity of the author or other factors. So they want to test their theory by creating a web-services application that allows their customers to submit books to 1) check the popularity of the words used in the book; 2) rank the book as high, medium or low ranking, and 3) compare that to the books ranking in sales.

For this project you are only required to implement part 1) – popularity checking. There could be different ways to implement the project. The simplest way is to create a RPC and a Document-style Web service to process a document (simple text). A more complex way is to use a combination of WSDL and database applications both on the server and the client side. You can choose either way.
The three operations performed by the web service will be the following:
Word Count: Counting the total number of words in a document.
Word Rank: A ranking of all words appeared in a document. You may refer to the Internet that have listings of the most commonly used words, words that are not in the list will be ranked lowest (depending on your table length).
Word …
0
Hi there!
I have a ColdFusion 9 server. I need to make a SOAP Web Service request using Coldfusion but it does not work. The way it should work: coldfusion page sends a filtered SOAP service request to a remote (non coldfusion) server and the  returned page needs to be saved to a DB. I tried to follow Ben Nadel samples (http://www.bennadel.com/blog/1809-making-soap-web-service-requests-with-coldfusion-and-cfhttp.htm) but I'm getting a BLANK page in return.

Here is my request page:

<cfsavecontent variable="soapBody">
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Header/>
   <soapenv:Body>
      <sch:GetClient>
         <!--Optional:-->
         <sch:request>
            <sch:RequestHeader>
               <!--Optional:-->
               <sch:ClientVersion>1001</sch:ClientVersion>
               <!--Optional:-->
               <sch:CustomerKey>123456789</sch:CustomerKey>
               <!--Optional:-->
               <sch:Password>MyPassword</sch:Password>
               <!--Optional:-->
               <sch:User>user@MyDomain.com</sch:User>
            </sch:RequestHeader>
            <!--Optional:-->
            <sch:Filter>
               <!--Optional:-->
               <sch:ClientID>456</sch:ClientID>
            </sch:Filter>
         </sch:request>
      </sch:GetClient>
   </soapenv:Body>
</soapenv:Envelope>
</cfsavecontent>
 
<cfhttp …
0
we are making request with SOAP HEADER to one of our application which is running on IBM WebSphere Application server version 7 .
 Header Request :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:int="http://www.aftermarket.org/InternetPartsOrder">
<soapenv:Header>
        <wsse:Security soapenv:mustUnderstand = "1" xmlns:wsse = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
            <wsse:UsernameToken>
                <wsse:Username>usernameTest</wsse:Username>
                <wsse:Password Type = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">password</wsse:Password>
            </wsse:UsernameToken>
        </wsse:Security>
    </soapenv:Header>


If request contains soapenv:mustUnderstand = "1" (if it is  soapenv:mustUnderstand = "0", works perfect)  in SOAP Header, WAS server is not able to process the message.

Getting below error in the logs

Did not understand "MustUnderstand" header(s):{http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd}Security

at com.ibm.ws.webservices.engine.handlers.jaxrpc.JAXRPCSOAPHandler.checkSOAPSemantics(JAXRPCSOAPHandler.java:356).


Please help me in this one. I appreciate your help
0

SOAP Protocol

250

Solutions

362

Contributors

Simple Object Access Protocol (SOAP) is a protocol specification for exchanging structured information in the implementation of web services. It uses the XML Information Set for its message format and uses other protocols, notably Hypertext Transfer Protocol (HTTP) and the Simple Mail Transfer Protocol (SMTP) for message transmission.

Top Experts In
SOAP Protocol
<
Monthly
>

No Top Experts for this time period. Answer questions to earn the title!