Problem in SOAP - XI
In web of XI execute.
http://plata:50000/XISOAPAdapter/HelperServlet?action=FindChannel&%20channel=:SOAP_Service:SOAP_Receiver
and pesent continue error.
<?xml version="1.0" ?>
- <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
- <detail>
- <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>ADAPTER.SOAP_EXCEPTION</code>
- <text>
- <![CDATA[
java.lang.Exception: invalid channel (party:service:channel) = <null>
at com.sap.aii.af.mp.soap.web.HelperServlet.processFindChannel(HelperServlet.java:364)
at com.sap.aii.af.mp.soap.web.HelperServlet.doGet(HelperServlet.java:126)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
]]>
</text>
</s:SystemError>
</detail>
</SOAP:Fault>
Help My
Check the URL.
the communication channel that u assign is not valid. Also I am seeing that u are sending the SOAP request to XI using the SOAP adapter??
So your URL should contains the SOAP sender channel right??
Thanks
Farooq.
Similar Messages
-
Another problem with SOAP sender
I have another problem with SOAP scenario in a different environment (PI 7.0) from my earlier post.
Scenario:
Soap Sender -> PI -> Soap Receiver
Following steps from GoogleSearch SOAP scenario in the SAP How-to Guide for SAP NetWeaver '04 entitled: "How To... Use the XI 3.0 SOAP Adapter" version 1.00 - March 2006.
I have loaded in the api.google.com/GoogleSearch.wsdl file as an External definition and created the SOAP receiver as described in the How-to guide. It takes a doGoogleSearch as input and sends back a doGoogleSearchResponse (Sync Call).
Note that the GoogleSearch.wsdl contains a complex type ResultElementArray that refers to ResultElement\[\], and a DirectoryCategoryArray that refers to DirectoryCategory\[\]. The ResultElement and DirectoryCategory types are defined in the GoogleSearch.wsdl file.
Problem One:
The generated WSDL for the SOAP sender contains the ResultElementArray and DirectoryCategoryArray types but it DOES NOT contain the required ResultElement and DirectoryCategory types. XML Spy complains that this WSDL is not valid because the type ResultElement\[\] is not defined.
Problem Two:
I generate a SOAP message in XML Spy, provide values for the doGoogleSearch fields, and send. In SXMB_MONI, the SOAP sender payload contains only the <key> value from the doGoogleSearch message body, i.e. <part name="key" type="xsd:string" />
The other doGoogleSearch fields seem to be missing, i.e.
<part name="q" type="xsd:string" />
<part name="start" type="xsd:int" />
<part name="maxResults" type="xsd:int" />
<part name="filter" type="xsd:boolean" />
<part name="restrict" type="xsd:string" />
<part name="safeSearch" type="xsd:boolean" />
<part name="lr" type="xsd:string" />
<part name="ie" type="xsd:string" />
<part name="oe" type="xsd:string" />
Does anyone know why:
(1) PI/XI seems to leave out the ResultElement and DirectoryCategory types from the SOAP sender service WSDL file?
(2) The doGoogleSearch message seen in SXMB_MONI contains only the first <key> field, and not the other fields?
Thanks for any help with this.I have another problem with SOAP scenario in a different environment (PI 7.0) from my earlier post.
Scenario:
Soap Sender -> PI -> Soap Receiver
Following steps from GoogleSearch SOAP scenario in the SAP How-to Guide for SAP NetWeaver '04 entitled: "How To... Use the XI 3.0 SOAP Adapter" version 1.00 - March 2006.
I have loaded in the api.google.com/GoogleSearch.wsdl file as an External definition and created the SOAP receiver as described in the How-to guide. It takes a doGoogleSearch as input and sends back a doGoogleSearchResponse (Sync Call).
Note that the GoogleSearch.wsdl contains a complex type ResultElementArray that refers to ResultElement\[\], and a DirectoryCategoryArray that refers to DirectoryCategory\[\]. The ResultElement and DirectoryCategory types are defined in the GoogleSearch.wsdl file.
Problem One:
The generated WSDL for the SOAP sender contains the ResultElementArray and DirectoryCategoryArray types but it DOES NOT contain the required ResultElement and DirectoryCategory types. XML Spy complains that this WSDL is not valid because the type ResultElement\[\] is not defined.
Problem Two:
I generate a SOAP message in XML Spy, provide values for the doGoogleSearch fields, and send. In SXMB_MONI, the SOAP sender payload contains only the <key> value from the doGoogleSearch message body, i.e. <part name="key" type="xsd:string" />
The other doGoogleSearch fields seem to be missing, i.e.
<part name="q" type="xsd:string" />
<part name="start" type="xsd:int" />
<part name="maxResults" type="xsd:int" />
<part name="filter" type="xsd:boolean" />
<part name="restrict" type="xsd:string" />
<part name="safeSearch" type="xsd:boolean" />
<part name="lr" type="xsd:string" />
<part name="ie" type="xsd:string" />
<part name="oe" type="xsd:string" />
Does anyone know why:
(1) PI/XI seems to leave out the ResultElement and DirectoryCategory types from the SOAP sender service WSDL file?
(2) The doGoogleSearch message seen in SXMB_MONI contains only the first <key> field, and not the other fields?
Thanks for any help with this. -
Problem between SOAP Sender and JDBC Receiver
Hi,
I have a asynchronous scenary between SOAP Sender and JDBC Receiver.
The idea is sending an ID for updating one register.
Table structure is:
TABLE AS_PERSONA
(P_RUT VARCHAR2(10) NOT NULL,
P_NOMBRE VARCHAR2(50),
P_APELLIDO VARCHAR2(50))
The ID is the P_RUT field.
The structure of message that I send by SOAP, is the following:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<SOAP-ENV:Body>
<m:MT_CONS_SOAP xmlns:m="urn:prueba:voliva">
<CONSULTA>
<P_RUT>15445</P_RUT>
</CONSULTA>
</m:MT_CONS_SOAP>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
The JDBC receiver structure is:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_CONS_PERSONA xmlns:ns0="urn:prueba:voliva">
<Statement>
<AS_PERSONA action="UPDATE">
<table>AS_PERSONA</table>
<access>
<P_NOMBRE>DELETE_BY_XI</P_NOMBRE>
<P_APELLIDO>DELETE_BY_XI</P_APELLIDO>
</access>
<key>
<P_RUT>15445</P_RUT>
</key>
</AS_PERSONA>
</Statement>
</ns0:MT_CONS_PERSONA>
When I do a call to SOAP by XMLspy, it returns a message without data, that means succesfull reply.
I see message monitor and see the succesfull flag. But in the database it doesn't update the register.
This scenario was proved using the File Sender and same JDBC Receiver, then result was succesfull.
I proved SOAP Sender with a File Receiver, storing information from SOAP sender in an archive, and works well.
Then I imagine that exist some problem between SOAP and JDBC. what could be happening ?
Thanks.Hi,
Looks like the problem is with the JDBC receiver...try updating the value in the table by using a File-JDBC scenario..does it work..check the adapter monitor in RWB..
Regards,
Sushumna -
Unique Problem: Returning SOAP+ Attachment using a class based webservice
Hi everyone,
Im trying to return a Soap+ attachment response back using the following:
attachDoc(byte[] bdoc, String sTransactionNumber,
String sRequestedType)
Where byte[] is the attachment and the 2 string parameters are soap message contents.
The attachment is attached successfully to the message and i can send a response back to the clients console using :
message.writeTo(System.out);
My problem is that i dont know how to return this soapmessage+attachment back to the client.
Ive tried using the return type of the method as :
public SOAPMessage attachDoc(byte[] bdoc, String sTransactionNumber,
String sRequestedType)
but i cant return a SOAPMessage return type in axis.
Does anyone have any clues how i should sort this out so that the client gets the SOAPMessage and attachment when the method is called ?
Please help :S
Thanks,I dunno if this is what you asked for....
Hope this helps a bit
You may want to check this link out
http://www-unix.globus.org/mail_archive/discuss/2007/02/msg00037.html
MessageContext msgContext = MessageContext.getCurrentContext();
File file = new File("filename.txt");
org.apache.axis.attachments.AttachmentPart replyPart=
new org.apache.axis.attachments.AttachmentPart(new DataHandler(new
FileDataSource(file)));
Message rspMsg= msgContext.getResponseMessage();
rspMsg.addAttachmentPart(replyPart);
so ur basically adding the file to the reply message.
The link i gave has a better description, it has the entire process of sending file to server and downloading file from server codes. -
Problem with SOAP receiver adapter? Please help!
Hi experts
I have the following scenario:
SAP R/3 -ABAP Proxy>XI--->SOAP --webservice
As you can see, I am sending data from R/3 system to XI via ABAP proxy. XI then sends data or calls a webservice via SOAP adapter.
When I test this scenario I am getting a error in the sxmb_moni that is,
"com.sap.aii.af.ra.ms.api.DeliveryException: TEXT/HTML; HTTP 504 Gateway Time-out"
I have checked the webservice url and it is working fine.
Can somebody tell me why am I getting this error message? How do I resolve this?
Thanks
GopalHi,
Can you please check the settings in Soap Adapter with Module Adapter setting with ModuleTranformBean parameters? There may be some problem. use HTTP Adapter and the message type 'HttpPostIn' to send as HTTP Post.
Also
There is the note 450226 gives an overview over error codes
Probably below solution may help you.........
As an administrator on your portal go to:
System Configuration > Service Configuration >applications
Under: com.sap.portal.ivs.httpservice > Services > Proxy
If any proxy settings are configured you may end up with the problem, so you need to set the "nonProxyHosts" to include the trex host.
regards
Aashish Sinha
PS : reward points if helpful -
Problem with soap receiver adapter
Hi All
I have Idoc sender and soap receiver in my scenario.
I am calling web service deployed on WAS.
The web service is getting called but the acknowledgement message in xi contains following system error acknowledgement because of which xi changes the status of message to WAIT and starts retrying.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Inbound Message
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.MessagingException: java.net.SocketTimeoutException: Read timed out: com.sap.aii.af.ra.ms.api.RecoverableException: java.net.SocketTimeoutException: Read timed out</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Please anybody can help to resolve this problem. This scenario has worked without any error previously.
Thanks in advance
BeenaHi Bhavesh,
It is an Async call where method does not return anything.
I added entries in IDX_NOALE but still it is setting the message status to WAIT and does retry.
Following is the Audit Log in Runtime workbench :
Audit Log for Message: 22b3052d-c519-034e-85db-e65d541d6414
Time Stamp Status Description
2006-12-13 10:25:23 Error SOAP: error occured: java.net.SocketTimeoutException: Read timed out
2006-12-13 10:25:23 Error Exception caught by adapter framework: Read timed out
2006-12-13 10:25:24 Error Delivery of the message to the application using connection AFW failed, due to: Read timed out.
2006-12-13 10:25:24 Success The asynchronous message was successfully scheduled to be delivered at Wed Dec 13 10:30:24 GMT+05:30 2006.
2006-12-13 10:25:24 Success The message status set to WAIT.
2006-12-13 10:30:25 Success Retrying to deliver message to the application. Retry: 1
2006-12-13 10:30:25 Success The message was successfully retrieved from the receive queue.
2006-12-13 10:30:25 Success The message status set to DLNG.
2006-12-13 10:30:25 Success Delivering to channel: INSPWCCT_PVtoSAP_Ack
2006-12-13 10:30:25 Success SOAP: request message entering the adapter
2006-12-13 10:35:28 Success SOAP: call failed
2006-12-13 10:35:28 Success SOAP: sending a delivery error ack ...
2006-12-13 10:35:28 Success SOAP: sent a delivery error ack
2006-12-13 10:35:28 Error SOAP: error occured: java.net.SocketTimeoutException: Read timed out
2006-12-13 10:35:28 Error Exception caught by adapter framework: Read timed out
2006-12-13 10:35:28 Error Delivery of the message to the application using connection AFW failed, due to: Read timed out.
2006-12-13 10:35:28 Success The asynchronous message was successfully scheduled to be delivered at Wed Dec 13 10:40:28 GMT+05:30 2006.
2006-12-13 10:35:28 Success The message status set to WAIT.
I have tried this scenario earlier. I am sending the same Idoc from R3 which was processed successfully earlier.
Thanks
Beena. -
Problem with SOAP Adapter receiver not receiving the proper string
Hi friends
I have a very simple scenario as follows using SOAP Syncronous Call
SENDING SCENARIO
================
ExternalClient --> SOAP ADAPTER --> XI -> RFC ADAPTER --> ZBAPI
RECEIVING SCENARIO
==================
ZBAPI --> RFC ADAPTER --> XI --> SOAP ADAPTER --> ExternalClient
Here External Client is sending a search ID and ZBAPI searches for that record and send the FirstName and LastName.
I am using external Definitions in XSD format as follows.
INPUT XSD is
=========================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://cincom.com/xi/socrates/customerSearch" targetNamespace="http://cincom.com/xi/socrates/customerSearch">
<xsd:element name="ZBAPI_GET_NAME">
<xsd:complexType>
<xsd:all>
<xsd:element name="ID" type="xsd:integer" minOccurs="0" />
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
===========================================
Reciving XSD file has
==============================================
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:socrates.cincom.com" targetNamespace="urn:socrates.cincom.com">
<xsd:element name="ZBAPI_GET_NAME_RESPONSE">
<xsd:complexType>
<xsd:all>
<xsd:element name="ADDRESSDATA" minOccurs="0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="FNAME" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="20" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LNAME" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="20" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
</xsd:schema>
=========================================================
I HAVE TESTED THE ZBAPI AND IT WORKS WELL ON ITS OWN. ALSO I HAVE TESTED THAT THE MESSAGE SENT FROM OUTSIDE CLIENT IS REACHING BAPI. HOWEVER WHEN I GOTO 'SXMB_MONI' AND CHECK THE
XML STRING THAT THE RECIEVER IS GETTING, I SEE JUST THE FOLLOWING TWO LINES
===================================
<?xml version="1.0" encoding="UTF-8" ?>
<ns1:ZBAPI_GET_NAME_RESPONSE xmlns:ns1="urn:socrates.cincom.com" />
======================================
IF YOU NEED ANY FURTHER INFO, PLEASE LET ME KNOW.
HOPE SOME ONE CAN GUIDE ME WITH THIS PROBLEM.
THANKS IN ADVANCE
RAMRam
Can you pls. confirm whether the mapping of your XSD fields & BAPI fields are in same sequence. I mean hierarchy is same or not.
Just to verify, as you said you are using Sync scenario that means you are using ONE Sender Soap & ONE Reciever RFC adapter.
Regards
Lalit -
Problem extracting SOAP XML payload using pl/sql
Hi,
I was wondering if I could get some help on extracting the address matches that are returned from the Web Service I am consuming. This is the first time I have dealt with XML and web services. I'm using Oracle 10.2.0.1.
The response I’m getting back returns 4 address matches (shown below against n2, n4, n6 and n8) which is:
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header/><soapenv:Body><searchResponse
xmlns="http://ws.aplt.msi.com"><searchReturn><?xml version="1.0"
encoding="UTF-8" standalone="yes"?>
<GetAddressSearchResponse
xmlns="http://aplt.nzpost.co.nz/schemas/search">
<ns1:ResponseHeader
xmlns:ns1="http://aplt.nzpost.co.nz/schemas/common">
<ns1:Errors/>
</ns1:ResponseHeader>
<SearchResults SearchType="StreetAddress">
<ResultRecord Type="URBAN">
<ns2:AddressDetails
xmlns:ns2="urn:nzpost:schemas:xAL:3.0">
<ns2:Locality>
<ns2:Name>LOWER HUTT</ns2:Name>
<ns2:DependentLocality>
<ns2:Name>WAINUIOMATA</ns2:Name>
</ns2:DependentLocality>
</ns2:Locality>
<ns2:Thoroughfare>
<ns2:Name>MAIN ROAD</ns2:Name>
<ns2:Number>
<ns2:Number Type="number">111</ns2:Number>
</ns2:Number>
</ns2:Thoroughfare>
<ns2:Postal>
<ns2:PostalCode>
<ns2:Number>
<ns2:Number>5014</ns2:Number>
</ns2:Number>
</ns2:PostalCode>
</ns2:Postal>
</ns2:AddressDetails>
<DPID>494852</DPID>
<Geospatial>
<ns3:Point
xmlns:ns3="http://aplt.nzpost.co.nz/schemas/common">
<ns3:Coordinate>174.953883,-41.271187</ns3:Coordinate>
</ns3:Point>
</Geospatial>
</ResultRecord>
<ResultRecord Type="URBAN">
<ns4:AddressDetails
xmlns:ns4="urn:nzpost:schemas:xAL:3.0">
<ns4:Locality>
<ns4:Name>UPPER HUTT</ns4:Name>
</ns4:Locality>
<ns4:Thoroughfare>
<ns4:Name>MAIN STREET</ns4:Name>
<ns4:Number>
<ns4:Number
Type="number">111</ns4:Number>
<ns4:Number
Type="alpha">A</ns4:Number>
</ns4:Number>
</ns4:Thoroughfare>
<ns4:Postal>
<ns4:PostalCode>
<ns4:Number>
<ns4:Number>5018</ns4:Number>
</ns4:Number>
</ns4:PostalCode>
</ns4:Postal>
</ns4:AddressDetails>
<DPID>2697192</DPID>
<Geospatial>
<ns5:Point
xmlns:ns5="http://aplt.nzpost.co.nz/schemas/common">
<ns5:Coordinate>175.070066,-41.124317</ns5:Coordinate>
</ns5:Point>
</Geospatial>
</ResultRecord>
<ResultRecord Type="URBAN">
<ns6:AddressDetails
xmlns:ns6="urn:nzpost:schemas:xAL:3.0">
<ns6:Locality>
<ns6:Name>WELLINGTON</ns6:Name>
<ns6:DependentLocality>
<ns6:Name>TAWA</ns6:Name>
</ns6:DependentLocality>
</ns6:Locality>
<ns6:Thoroughfare>
<ns6:Name>MAIN ROAD</ns6:Name>
<ns6:Number>
<ns6:Number Type="number">111</ns6:Number>
</ns6:Number>
</ns6:Thoroughfare>
<ns6:Postal>
<ns6:PostalCode>
<ns6:Number>
<ns6:Number>5028</ns6:Number>
</ns6:Number>
</ns6:PostalCode>
</ns6:Postal>
</ns6:AddressDetails>
<DPID>1066466</DPID>
<Geospatial>
<ns7:Point
xmlns:ns7="http://aplt.nzpost.co.nz/schemas/common">
<ns7:Coordinate>174.824326,-41.174181</ns7:Coordinate>
</ns7:Point>
</Geospatial>
</ResultRecord>
<ResultRecord Type="URBAN">
<ns8:AddressDetails
xmlns:ns8="urn:nzpost:schemas:xAL:3.0">
<ns8:Locality>
<ns8:Name>WELLINGTON</ns8:Name>
<ns8:DependentLocality>
<ns8:Name>KARORI</ns8:Name>
</ns8:DependentLocality>
</ns8:Locality>
<ns8:Thoroughfare>
<ns8:Name>MAKARA ROAD</ns8:Name>
<ns8:Number>
<ns8:Number Type="number">111</ns8:Number>
</ns8:Number>
</ns8:Thoroughfare>
<ns8:Postal>
<ns8:PostalCode>
<ns8:Number>
<ns8:Number>6012</ns8:Number>
</ns8:Number>
</ns8:PostalCode>
</ns8:Postal>
</ns8:AddressDetails>
<Geospatial>
<ns9:Point
xmlns:ns9="http://aplt.nzpost.co.nz/schemas/common">
<ns9:Coordinate>174.717753 , -41.284415</ns9:Coordinate>
</ns9:Point>
</Geospatial>
</ResultRecord>
</SearchResults>
</GetAddressSearchResponse>
</searchReturn></searchResponse></soapenv:
Body></soapenv:Envelope>
My cursor that gets any errors returned appears ok. This is:
CURSOR c_xml_err(i_xml IN XMLType, i_xmlns IN VARCHAR2) IS
SELECT extract(value(xmlseq), '/Errors' , i_xmlns) vi_errors
,extract(value(xmlseq), '/Warnings' , i_xmlns) vi_warnings
FROM TABLE(xmlSequence(extract(i_xml, '/GetAddressSearchResponse/ns1:ResponseHeader' , i_xmlns))) xmlseq;
i_xml that is passed in is an XMLType converted from a CLOB which is the response from the web service:
v_xml_response := XMLType(i_response);
i_response is the SOAP package above with the following done on it:
-- Strip the unnecessary SOAP XML envelope from the response
v_xml_resp := XMLType.createXml(o_response);
i_response := v_xml_resp.extract('/soap:Envelope/soap:Body/child::node()'
,'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"').getClobVal();
i_response is defined with a type of CLOB.
i_xmlns that is passed in is: 'xmlns:ns1="' || i_xml_namespace || '"' where i_xml_namespace is: http://aplt.nzpost.co.nz/schemas/search
My cursor that tries to get the address details returned is:
CURSOR c_xml(i_xml IN XMLType, i_xmlns IN VARCHAR2) IS
SELECT extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostBox.Number/text()' , i_xmlns).getNumberVal() box#
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Thoroughfare.Number/text()' , i_xmlns).getStringVal() street_number
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Thoroughfare.Name/text()' , i_xmlns).getStringVal() street_name
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Locality.DependentLocality.Name/text()' , i_xmlns).getStringVal() suburb
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Locality.Name/text()' , i_xmlns).getStringVal() town_city
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostalCode.Number/text()' , i_xmlns).getStringVal() post_code
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostOffice.Name/text()' , i_xmlns).getStringVal() box_lobby_name
,extract(value(xmlseq), '/ResultRecord/AddressDetails/Postal.PostRoute.Name/text()' , i_xmlns).getStringVal() rd_number
FROM TABLE(xmlSequence(extract(i_xml, '/GetAddressSearchResponse/SearchResults' , i_xmlns))) xmlseq;
This is not correct because it doesn’t select anything. The i_xml parameter passed in is the same as above however the i_xmlns parameter that is passed into this cursor is different. It’s currently passed in as:
'xmlns:ns2="urn:nzpost:schemas:xAL:3.0"'
Which matches what is returned in the soap message (first the first address match returned):
<ResultRecord Type="URBAN">
<ns2:AddressDetails
xmlns:ns2="urn:nzpost:schemas:xAL:3.0">
I'm calling this cursor in loop as follows:
for r_cu in c_xml(v_xml_response, v_xml_namespace)
loop
dbms_output.put_line('***** test12 - ws_avs_clients - IN LOOP - delete/insert nzp23_address');
Nothing gets returned.
Firstly, I’m not sure how to cater for n2, n3, n4, n5, etc which are the namespaces returned and incremented for each address match.
I’m also wondering if my cursor should be changed to something like:
CURSOR c_xml(i_xml IN XMLType, i_xmlns IN VARCHAR2) IS
SELECT extract(value(xmlseq), '/Postal.PostBox.Number/text()' , i_xmlns).getNumberVal() box#
,extract(value(xmlseq), '/Thoroughfare.Number/text()' , i_xmlns).getStringVal() street_number
,extract(value(xmlseq), '/Thoroughfare.Name/text()' , i_xmlns).getStringVal() street_name
,extract(value(xmlseq), '/Locality.DependentLocality.Name/text()' , i_xmlns).getStringVal() suburb
,extract(value(xmlseq), '/Locality.Name/text()' , i_xmlns).getStringVal() town_city
,extract(value(xmlseq), '/Postal.PostalCode.Number/text()' , i_xmlns).getStringVal() post_code
,extract(value(xmlseq), '/Postal.PostOffice.Name/text()' , i_xmlns).getStringVal() box_lobby_name
,extract(value(xmlseq), '/Postal.PostRoute.Name/text()' , i_xmlns).getStringVal() rd_number
FROM TABLE(xmlSequence(extract(i_xml, '/GetAddressSearchResponse/SearchResults/ResultRecord/ns2:AddressDetails' , i_xmlns))) xmlseq;
However I couldn’t have the ns2: before “AddressDetails” because this gets incremented. I don’t think I can also have the i_xmlns namespace parameter passed in as 'xmlns:ns2="urn:nzpost:schemas:xAL:3.0"'
because the ns2 gets incremented for each address.
I'm looking for any examples of pl/sql code that extracts the addresses from the SOAP message returned like I’m trying to do?
Any help would be much appreciated.
Thanks,
BradYou can find some examples in both the {forum:id=34} and {forum:id=75} forums. Just search on soap:Envelope or soap:Body and you should get some hits back.
Since you are using 10.2, you will want to use XMLTable instead of TABLE(xmlSequence(extract as XMLTable is the direction Oracle is going. As for ns2:, ns4: it doesn't matter what namespace prefix you use in your XPath statement as long as all the prefixes resolve to the same namespace.
Here is a starter piece of code that puts all that together for you.
SELECT town_city, peeking
FROM XMLTABLE(XMLNamespaces(default 'http://aplt.nzpost.co.nz/schemas/search',
'urn:nzpost:schemas:xAL:3.0' as "adns"),
'/GetAddressSearchResponse/SearchResults/ResultRecord/adns:AddressDetails'
PASSING XMLTYPE('<GetAddressSearchResponse xmlns="http://aplt.nzpost.co.nz/schemas/search">
<SearchResults SearchType="StreetAddress">
<ResultRecord Type="URBAN">
<ns2:AddressDetails xmlns:ns2="urn:nzpost:schemas:xAL:3.0">
<ns2:Locality>
<ns2:Name>LOWER HUTT</ns2:Name>
</ns2:Locality>
</ns2:AddressDetails>
</ResultRecord>
<ResultRecord Type="URBAN">
<ns4:AddressDetails xmlns:ns4="urn:nzpost:schemas:xAL:3.0">
<ns4:Locality>
<ns4:Name>UPPER HUTT</ns4:Name>
</ns4:Locality>
</ns4:AddressDetails>
</ResultRecord>
</SearchResults>
</GetAddressSearchResponse>')
-- The above XMLType would be your variable instead of what is hard-coded
COLUMNS
town_city VARCHAR2(30) PATH '/adns:AddressDetails/adns:Locality/adns:Name',
peeking XMLTYPE PATH '.'); -- This var is just to show you what each iteration is working with.You can also assign a namespace prefix to one of the default namespaces if your XPath goes across multiple "default" namespaces.
SELECT town_city, peeking
FROM XMLTABLE(XMLNamespaces('http://aplt.nzpost.co.nz/schemas/search' as "def", -- made up this prefix
'urn:nzpost:schemas:xAL:3.0' as "adns"),
'/def:GetAddressSearchResponse/def:SearchResults/def:ResultRecord/adns:AddressDetails'
PASSING XMLTYPE('<GetAddressSearchResponse xmlns="http://aplt.nzpost.co.nz/schemas/search">
<SearchResults SearchType="StreetAddress">
<ResultRecord Type="URBAN">
<ns2:AddressDetails xmlns:ns2="urn:nzpost:schemas:xAL:3.0">
<ns2:Locality>
<ns2:Name>LOWER HUTT</ns2:Name>
</ns2:Locality>
</ns2:AddressDetails>
</ResultRecord>
<ResultRecord Type="URBAN">
<ns4:AddressDetails xmlns:ns4="urn:nzpost:schemas:xAL:3.0">
<ns4:Locality>
<ns4:Name>UPPER HUTT</ns4:Name>
</ns4:Locality>
</ns4:AddressDetails>
</ResultRecord>
</SearchResults>
</GetAddressSearchResponse>')
-- The above XMLType would be your variable instead of what is hard-coded
COLUMNS
town_city VARCHAR2(30) PATH '/adns:AddressDetails/adns:Locality/adns:Name',
peeking XMLTYPE PATH '.'); -- This var is just to show you what each iteration is working with.Hope that helps as a starter to working on your problem.
If you follow the FAQ link in the above right, you will see how to use the { code } tag (without spaces) to wrap the examples and retain formatting as shown above. -
XSLT Problem with soap namespace
Hi there,
I have a problem transforming an XML doc with soap elements, using XSLT (Xalan).
Here's the input:
<?xml version = "1.0" encoding = "ISO-8859-1"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns="http://www.ean.nl">
<testthis>123456</testthis>
</soap:Envelope>and here's the XSL:
<?xml version="1.0"?>
<xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="soap:Envelope">
<Orders>
<H01>
<xsl:value-of select="testthis"/>
</H01>
</Orders>
</xsl:template>
</xsl:transform>I expect to get something like:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<H01>123456<H01>
<Orders>But instead I get:
<?xml version="1.0" encoding="UTF-8"?>
<Orders>
<H01/>
</Orders>I've tried a lot of things and I'm probably overseeing something stupid, but I'm stuck.
It seems as if anything without soap: namespace cannot be processed by my XSL (when I add it in the input XML and XSL it works).
Any help would be greatly appreciated.
Greetings,
ErikYes, I found it!
The following XSL for the same XML doc works!
<?xml version="1.0"?>
<xsl:transform xmlns:ean="http://www.ean.nl" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" exclude-result-prefixes="soap">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="soap:Envelope">
<Orders>
<H01>
<xsl:value-of select="ean:testthis"/>
</H01>
</Orders>
</xsl:template>
</xsl:transform>Thanks, you pointed me in the right direction :-)
Erik -
Synchronous RFC -- SOAP Scenario: problem with SOAP Response/Fault Mapping
Hi,
I've a synchronous RFC --> PI --> SOAP Scenario. The problem is that the message structure of the sending RFC doesn't match the Webservice Structure.
The (SAP standard) RFC has just a Request / Response message structure. Part of the Response Message structure is a exception structure.
The Webservice has a Request / Response message structure and in case of an error I get a SOAP:Fault.
Problem now is that I cannot configure that scenario without usage of BPM as I will have to map SOAP:Response or SOAP:Fault to the RFC Response structure.
Has anybody another idea to do that synchronous scenario (with usage of message mapping) without BPM?
BR
Holger1)
you maus define 3 mapping.
1)request
2)response
3)Fault
in Interface mapping define at response boths (2-3) mapping. its clear??
2)
otherwise sometjhing is not clear, why do you want fault?? why dont you get only response message. we implement this kind of response:
<response_MT>
<ID> (error ID)
<system> (target system)
<error> (Error Description)
</response>
by this way fault message is not needed. but if you must have it just follow the top of message else, propose second.
Thanks
Rodrigo
Thanks
Rodrigo
Edited by: Rodrigo Pertierra on Feb 25, 2008 11:52 AM -
JCO problem in SOAP to file scenario
Hey guys
i m doin a SOAP to file scenario and getting a JCO error in moni,the status of my queue in SMQ2 is SYSFAIL,when i check the TCP/IP connection in SM59 i find error in two places
AI_DIRECTORY_JCOSERVER and AI_RUNTIME_JCOSERVER .when i test connection for both of them i get the followin error "Error opening and RFC connection".
is this error dues to some server problem of something wrong in my scenario.?
the SOAP adapter in RWB is green.
i tried to unlock and delete the queue in SMQ2 but when i execute my scenario again,it gets SYSFAIL error.
thanx
ahmadHi,
If you restart the J2ee engine, it will work.
But The error may because of many reasons
-Might be because of lots of messages are to be processed simultaneously.
-Increasing the number of processes in VisualAdmin (VisualAdmin>JCO RFC Provider>AI_RUNTIME_<SID>) and see if that helps.
-This SAP Note may help u -709140.
Hope this helps,
Regards,
Moorthy -
Xsl/stylesheet transformation problem in soap response(usinf xmlx-tags.tld)
Hi,
I have problem in transforming the soap response using xmlx-tags.tld.....
I was not able to read the <EmpName> value from the returned xml...
The stylesheet / xsl does not return any elements if I use other then "/" in match
attribute : <xsl:template match="/">
here is my soap call and stylesheet in JSP:
<x:xslt media="html">
<x:xml>
<ws:soap ttl="360000">
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
... making soap call here...
</soap:Body>
</soap:Envelope>
</ws:soap>
</x:xml>
<x:stylesheet media="html">
<xsl:stylesheet version='1.0' xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:output method="xmll" omit-xml-declaration="no"
doctype-public="-//W3C//DTD HTML 4.0 Transitional//EN" indent="yes" />
<xsl:template match="GetEmpResult">
<html>
<body>
Result: <B>Symbol <xsl:value-of select="EmpName"/></B>
</body
</html>
</xsl:stylesheet>
</x:stylesheet>
</x:xslt>
the SOAP response looks like this:
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetEmpResponse xmlns="http://ws.cdyne.com/">
<GetEmpResult>
<EmpID>string</EmpID>
<EmpName>string</EmpName>
<SalAmount>decimal</SalAmount>
<Error>boolean</Error>
</GetEmpResult>
</GetEmpResponse>
</soap:Body>
</soap:Envelope>
I tried all the possibilities of template matches, but not succeeded....
Can somebody help me the correct <xsl:template> to access EmpName from the above
SOAP responses...
regards
VijayHi,
Dynamic xslt are not quite supported in OSB, there are some approaches that may be helpful for your case though...
Have a look at these...
http://atheek.wordpress.com/2011/12/21/using-xalanevaluate-to-parametrize-xpath/
http://beatechnologies.wordpress.com/2010/12/01/dynamic-xquery-in-oracle-service-bus/
Let me know how you go...
Cheers,
Vlad -
Hi all,
I am working on SOAP sychronous scenario.i.e ,Web services(Axis) to SAP R/3 system and i want the response from SAP R/3 system and it is to be displayed in web client.
In this scenario I am able to send the SOAP message to SAP R/3 system through XI.
I have configured both the sender and reciever SOAP adapters.
The BPM steps are:
1. Receive
2. Synchronous Sender step
3. Send
For this BPM i created 5 interfaces.
1. Request_out
2. Response_in
3. Soap_abs_synch
4. Request_abs
5. Response_abs
Now my question is which interface i have to used to send the request and get the response?
Here i used Request_out and i am able to see the response message from R/3 system in SXMB_MONI.
Could anybody please help me to solve this problem.Hi,
You would have forgot to map parent node coming after <STATUS>Success</STATUS>
Make sure that you have properly mapped all the parents and there child.
Are you getting the same result while Testing it standalone?
Thanks
Sunil Singh -
Problem with SOAP FAULT messages
Hi,
I'm developing the flash interface for a .NET application.
The client side (flash) communicate with server side (.NET) by web
services. The problem is that when the server side send a Fault
message flash breaks telling "Unable to connect to
endpoint........". In this case I need to know the error message
send by the server but the fault.faultstring is undefined.
Here the server Fault message:
HTTP/1.1 500 Internal Server Error.
Date: Wed, 23 Aug 2006 09:07:10 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private
Content-Type: text/xml; charset=utf-8
Content-Length: 419
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="
http://www.w3.org/2001/XMLSchema">
<soap:Body>
<soap:Fault>
<faultcode>SoapHeader</faultcode>
<faultstring>The userid: xxxx is
invalid</faultstring>
<detail />
</soap:Fault>
</soap:Body>
</soap:Envelope>
And this the code that handle the fault case:
pendingcall.onFault = function (fault:Object){
rootObj.gbl_logger.log("WS Fault: "+ fault.faultstring ,
10);
As you can see the real faultstring is "The userid: xxxx is
invalid" but in the faultstring property of the fault object I
found "undefined".
I've read many posts that report that the problem can be
solved in the server side modifing the HTTP HEADER from 500 to 200.
Unfortunately I can't access the server side code. Exists a way to
resolve the problem in the client side? Seems it is a Flash bug as
the SOAP 1.1 specs tells that all SOAP Fault messages must carry a
HTTP 500 header. Exists some patch that solve the problem?
Thanks.Hi ,
Thanks for joining the Community.
Please get in touch so we can resolve this issue for you.
Click here for contact details.
Thanks
James -
SIGNING problem in soap receiver adapter
Dear Friends,
I am sending the file to soap adapter , it reaching to reciever system but I SIGNING is not happening.
sender side file adapter
receiver side soap adapter
sender side ok , reciever side also ok but only the problem is SIGNING.
receiver side any settings are required.
Please suggest me how to resolve this issue.
Regards,
Shalini ShahHi,
If you want to sign the message then enable webservice security in receiver communication channel and specify the certficate for signing in the receiver agreement. Certificates need to be created in Visual Admin and corresponding public key should be provided to the partner for validating the signature.
You need to create a connection type G in SM59 which is required for connecting to J2EE from integration server and you need to specify this connection in the port which need to be created in tcode lpconfig.
Regards,
Prakash -
Problems with SOAP Adapter/Interface
Hi Experts,
we currently try and experiment with XI 3.0 Stack 09 and the SOAP adapter respectively.
We started with a simple interface (foo..., see wsdl attachment) that we want to provide by XI.
All configurations (SLD, Integration Repository, Integration Directory) should have been done accordingly as we suppose, similar to other szenarios we have already implemented.
When we send a SOAP request based on a generated wsdl to XI we get the exception at the bottom of this text, containing e.g.
com.sap.aii.messaging.srt.BubbleException: error during conversion [null "null"];
com.sap.aii.messaging.util.XMLScanException: Parsing an empty source. Root element expected!
For sending the SOAP message we used XMLSpy.
Did someone have similar problems or can give us an working WSDL example, or some hint?
Thanks in advance,
Klaus Lukas
foo.wsdl
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:p1="urn://poreceive.xi.pse.siemens.com" targetNamespace="urn://poreceive.xi.pse.siemens.com" name="foo_out_sync">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn://poreceive.xi.pse.siemens.com" targetNamespace="urn://poreceive.xi.pse.siemens.com">
<xsd:element name="foo" type="foo_DT"/>
<xsd:complexType name="foo_DT">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
fe0bb241d2a011d9cd15e9729ee2f568
</xsd:appinfo>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="item" type="xsd:string">
<xsd:annotation>
<xsd:appinfo source="http://sap.com/xi/TextID">
fe0bb240d2a011d9acede9729ee2f568
</xsd:appinfo>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="foo">
<wsdl:part name="foo" element="p1:foo"/>
</wsdl:message>
<wsdl:portType name="foo_out_sync">
<wsdl:operation name="foo_out_sync">
<wsdl:input message="p1:foo"/>
<wsdl:output message="p1:foo"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="foo_out_syncBinding" type="p1:foo_out_sync">
<soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="foo_out_sync">
<wsdl:input>
<soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="foo_out_syncService">
<wsdl:port name="foo_out_syncPort" binding="p1:foo_out_syncBinding">
<soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
soap message incl. error
<?xml version="1.0"?>
<!-- see thedocumentation -->
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>error during
conversion</faultstring>
<detail>
<s:SystemError
xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>XMLScanException</code>
<text><![CDATA[
com.sap.aii.af.mp.module.ModuleException
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process
(XISOAPAdapterBean.java:697)
at
com.sap.aii.af.mp.module.ModuleLocalLocalObjectImpl3.process
(ModuleLocalLocalObjectImpl3.java:103)
at com.sap.aii.af.mp.ejb.ModuleProcessorBean.process
(ModuleProcessorBean.java:221)
at
com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0.process
(ModuleProcessorLocalLocalObjectImpl0.java:103)
at com.sap.aii.af.mp.soap.web.MessageServlet.doPost
(MessageServlet.java:543)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service
(HttpServlet.java:853)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet
(HttpHandlerImpl.java:385)
at
com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleReques
t(HttpHandlerImpl.java:263)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet
(RequestAnalizer.java:340)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet
(RequestAnalizer.java:318)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebConta
iner(RequestAnalizer.java:821)
at
com.sap.engine.services.httpserver.server.RequestAnalizer.handle
(RequestAnalizer.java:239)
at com.sap.engine.services.httpserver.server.Client.handle
(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request
(Processor.java:147)
at
com.sap.engine.core.service630.context.cluster.session.ApplicationSessio
nMessageListener.process(ApplicationSessionMessageListener.java:37)
at
com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner
.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run
(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute
(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run
(SingleThread.java:162)
Caused by: com.sap.aii.messaging.srt.BubbleException: error during
conversion [null "null"]; nested exception caused by:
com.sap.aii.messaging.util.XMLScanException: Parsing an empty source.
Root element expected!
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onResponseToWS
(XMBWebServiceExtension.java:936)
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.invokeOnResponse
(XMBWebServiceExtension.java:602)
at com.sap.aii.messaging.srt.ExtensionBubble.onMessage
(ExtensionBubble.java:58)
at com.sap.aii.af.mp.soap.ejb.XISOAPAdapterBean.process
(XISOAPAdapterBean.java:576)
... 20 more
Caused by: com.sap.aii.messaging.util.XMLScanException: Parsing an
empty source. Root element expected!
at com.sap.aii.messaging.util.StreamXMLScannerImpl.open
(StreamXMLScannerImpl.java:104)
at com.sap.aii.messaging.mo.DefaultItem.setData
(DefaultItem.java:294)
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.makeItemFromPayload
(XMBWebServiceExtension.java:972)
at
com.sap.aii.messaging.srt.xmb.XMBWebServiceExtension.onResponseToWS
(XMBWebServiceExtension.java:879)
... 23 more
]]></text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>Hi Klaus
In your wsdl file the soap address tag (given below)
<b><soap:address location="http://xxxxxxxx:8000/XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out&version=3.0&Sender.Service=Foo_SOAP_Service&Interface=urn%3A%2F%2Fporeceive.xi.pse.siemens.com%5Efoo_out_sync" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/></b>
is to be edited as
<b><soap:address location="http://xxxxxxxx:50000//XISOAPAdapter/MessageServlet?channel=:Foo_SOAP_Service:SOAP_Foo_out" /></b>
because the soap address format should be like :
<i>http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel</i>
For more information :
http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/frameset.htm
Hope this will be helpful.
Regards
Suraj
Maybe you are looking for
-
[GUIDE] How to get MapleStory working in Arch Linux
MapleStory is a free-of-charge, 2D, side-scrolling massively multiplayer online role-playing game developed by the South Korean company Wizet. Several versions of the game are available for specific countries or regions, and each is published by vari
-
What's wrong with the new forum design.
Thought I'd kick off the list here. 1. O.P. can award a correct answer to themselves. 2. Status stays hidden unless checked, making it hard on both newbies and those trying to help them 3. No advanced search (that I can find) I've given up even tryin
-
Hello and good day, To who ever can assist me... My little sister recently experienced the feeling of having her iTouch stolen from her @ school. Since the incident occured, two of her best friends located her iTouch and returned it back to my sister
-
How to export my booklet as a file so I can take to a printer to print it out as a booklet?
This is my VERY first time doing work in the program InDesign and I have managed to create a booklet. However the final step of printing I am having trouble with.I am trying to export my InDesign file (indd.) to a PDF or some kind of file type that I
-
Purchase Orders replicated in BE with wrong number
Hello, Recently we've observed that in our dev system Purchase Orders are being replicated from SRM to R/3 System with numbers used for POs created in R/3, Let say, for example, that in SRM the PO number starts with 33 and once the PO is replicated