Hi,
i facing a problem with the pi soap adapter. i want to send am message with connection credentials to a soap webservice and then use the ID from the response for the following transactions/messages (it´s like a stateful soap scenario: connect web service, connect port, do things, release port, release web service)
To create the request i am using a xsl mapping and activated in the receiver soap channel the "do not use soap envelope" and "keep header data"
also i set in modules soap XMBWS.NoSOAPIgnoreStatusCode true
the problem is that i am not getting the response message back. i see a finished flag for the request message in sxmb_moni but in the channel monitoring ther is the following error
When i test the call with the payload from xsl mapping in soap ui i am getting a successful response. The ? i used for anonymization
HTTP/1.1 200 OK
Date: Thu, 26 Apr 2012 08:24:29 GMT
Server: Apache/2.2.14 (Win32) mod_ssl/2.2.14 OpenSSL/0.9.8k mod_jk/1.2.31
Content-Length: 805
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/xml;charset=utf-8
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<t:wsID xmlns:t="???????/???????" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><UUID xsi:type="xsd:string">THE ID I NEED</UUID></t:wsID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:Connect_ws?????? xmlns:ns1="???????e/???????" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
</ns1:Connect_Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Could you please advise
many thanks
Michael
Request clarification before answering.
Hello Michael,
Question: 1. Is your sender/receiver service interface set as synchronous?
2. The target webservice is using RPC-encoding as specified by
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/", are you sure that you do not need a SOAP Action in your CC?
Since you have checked the Do Not Use SOAP Envelope option, the content-type gets transformed to application/xml. To use the text/xml content type, use the MessageTransformBean in your SOAP Receiver CC.
Hope this helps,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Mark,
many thanks for your reply
1. both sender and receiver service interfaces are set to synchronous
2. i updated the channel
also i added the module
then i use the message for request from the wsdl and mapped my credentials
The error i am now getting is the following
fo addition in soap ui the request looks like this
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsk="????????/????????????">
<soapenv:Header/>
<soapenv:Body>
<wsk:SOAP-ACTION? soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<userId xsi:type="xsd:string">??</userId>
<password xsi:type="xsd:string">??</password>
<appServerInfo xsi:type="xsd:string">???</appServerInfo>
</wsk:SOAP-ACTION?>
</soapenv:Body>
</soapenv:Envelope>
Hello Michael,
Your target URL seems incorrect and the Do Not Use SOAP Envelope should be checked since you are building it using XSLT. Here is a sample calculator Webservice:
http://www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx?op=Add
See the specifications:
For example, in the calculator webservice, the SOAP Receiver CC settings should be:
The correct Target URL is: www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx
SOAP Action is: http://tempuri.org/Add
I think you are getting the 404 error because you are posting in an Operation service description URL. With regards to the calculator webservice, the URL for the service description for addition is:
http://www.html2xml.nl/Services/Calculator/Version1/Calculator.asmx?op=Add
Hope this helps,
Mark
Hi Angelo,
thanks for your reply.
The WebService provider also doc/literal, i imported the wsdl for testing and found it might better match the requirements (e.g. i got the connect.response message)
What is better? rpc oder doc?
I checked the wsdl rpc and doc and found no soap action. the entry for the soap action looks like this
<soap:operation soapAction="" style="document" />
when i test the scenario with the new message types and change cc (uncheck do not use soap envelope, leave action blank and use the url i used in my soap ui test)
i got the following error message. Might there be a communication error in our network (firewall...)?
This Prob with Adapter framework after restarting the PI System it might get resolved i had faced similar problem with JDBC adapter.
Better to check with Basis team to investigate further.I hope your target system is up and running.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Michael,
It looks like a problem for PI to connect to the web service. Make sure of the following:
1. Can PI connect to the target system, over the Proxy server you defined in the receiver CC (in terms of network connectivity)?
2. Is the Target URL correct?
3. Don't you need to use SOAP Action?
For 2 and 3, compare the settings to what is used by SOAP UI.
Hope this helps,
Greg
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Greg,
many thanks for your reply.
As written above i updated the connection parameters.
1. I am not sure. I am running another scenario calling via proxy a http adress (another pi system). This works.
What i realy not understand is that in messagemonitoring sxmb_moni i am not getting any response message
as said with soap ui everything is fine
I think your communication channel is set for EO or EOIO. Please check that ... though you might have corrected the service interface to sync mode. Also you first screenshot shows at the end...
Message monitoring shows: Asynchronous message is at the delivered status. So that's the reason you dont see the response. Check your communication channels.
Hi Michael,
Some questions I have to your before I trace your issue and provide help.
Cheers,
R-jay
Hi R-jay,
i have tested the connection calls with the pi and soap ui. in both cases the request was sent correct to the webservice.
The problem i am now facing is that i see no response message in pi.
i see the request message with final flag in monitoring and also the response message with final flag in monitoring.
When i want to open the response message i am getting this error
in nwa log i found
and on top this message
i also scipped the xsl mapping and use the adapter without activating the "do not use soap envelope" option.
when i test the scenario with soap ui i am getting a response
in raw it looks like this
HTTP/1.1 200 OK
Date: Thu, 03 May 2012 12:04:55 GMT
Server: Apache/2.2.14 (Win32) mod_ssl/2.2.14 OpenSSL/0.9.8k mod_jk/1.2.31
Content-Length: 631
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/xml;charset=utf-8
<?xml version='1.0' encoding='UTF-8'?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Header>
<wsD xmlns="?????/?????"><UUID>THE ID I NEED</UUID></wsID>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Connect_ws????Response xmlns="?????/??????">
</Connect_ws?????Response>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
the wsdl i downloaded from the webservice provider and importet it for mapping into the esr
many thanks
The xml parser throws error that your request message has some invalid closing or opening tags. I think you are also doing some work in XSL mapping. Better capture the message payload in pipeline steps after mapping and test it in XMLSPY and see what line in the message has invalid syntax. This way you can correct the problem either in xsl mapping that cause this or in your message target structure.
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 3 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 | |
| 2 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.