on 01-31-2014 12:40 PM
I am developing an ABAP Proxy to SOAP interface.
I'm using an external definition with the wsdl for the service inbound interface and outbound interface for the determination, I was not allowed to use the definition as external error occurred while creating the abap proxy.
Thus, utilized a message type of structure to be sent, and a message maping.
However when I run the error message occurs:
/ Parsing / ADAPTER.SOAP_EXCEPTION - soap fault: No such operation 'mt_XXX_Request'.
Already confirmed URL of sending CC and left blank SOAP ACTION, however problem persists.
Already viewed this problem?
Hi!
Mapping the problem, I found a problem in mapping:
When I test the mapping with the default structure, works without problem with the headers:
<? xml version = "1.0" encoding = "UTF-8">
<ns0:mt_XXX_Request xmlns:ns0="http://www.XXX.com.br/funcionario">
However when I copy the message coming from sxi_monitor, the header appears:
<? xml version = "1.0" encoding = "utf-8">
- <nm:mt_SPColab_Request Xmlns:nm="http://www.bravante.com.br/funcionario" xmlns:prx="urn:sap.com:proxy:D01:/1SAI/TAS337475E2AF22EC2AC09A:702">
Introducing the error:
Mapping:
Obrigado!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Lucas - Is it your responce mapping? if so your webservice responce strcuture should be source and proxy should be your target right?
If it is request mapping, you don't need to worry about this mapping.
The error in the channel is complaining about responce mapping.
Refer to the below blog for a better understanding and compare your configuration.
Hello,
>>However when I copy the message coming from sxi_monitor, the header appears:
Proxy adds this "xmlns:prx="urn:sap.com:proxy:D01:/1SAI/TAS337475E2AF22EC2AC09A:702" kind of prefix and namespace by default, but i don't think u should get error becoz of this?
In addition to that, ur XML declaration should be like this:
<?xml version = "1.0" encoding = "utf-8"?>
So, if u want u can test ur mapping again with correct request structure coming in moni.
Thanks
Amit Srivastava
Good afternoon !
So , I adjusted the structures and all MM and OP are OK . Even realize a test of the interface in Interface determination in Configuration using the XML coming from the proxy and they are ok .
However when I run the proxy keeps the problem :
<SAP:AdditionalText> Com.sap.engine.interfaces.messaging.api.exception.MessagingException : SOAP : response message contains an error XIAdapter / parsing / ADAPTER.SOAP_EXCEPTION - soap fault : No such operation ' DOC ' < / SAP : AdditionalText >
This " DOC " would be the " header " of the mapping of WS .
This could be trouble for releasing firewall or communication with the WS ?
Thank you.
Hello,
Did u test ur WS using SOAP UI? - I have already asked this question
If not, then i would suggest you to do it and check if u are getting response or not?
If u are getting successful response from SOAP UI then open RAW tab in request and copy the action name in ur receiver channel and then test again.
But do remember to test it first fro SOAP UI.
Thanks
Amit Srivastava
Hi Lucas - I don't think it has got something to with IP communication. I believe there is something wrong with the implimentation.
So when the testo SOAPUI works yes.
>>> Are you able to recieve the successful response when you test in Soap UI.
One more question : Have you imported the wsdl for your target strcture/manually created?
Hello,
Eventually, I think i got u...
Ur WSDL file is correct + the way u are testing WS using SOAP UI is also correct, but the only thing which is wrong is u are not importing WSDL file in PI properly.
>> "<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>"
BTW, this line in WSDL file made me think that
So, try to re-import ur WSDL file as a "RPC Style WS" and then u will see ATUALIZIDOC" node in ur request message (u have to readjust ur request mapping)
Thanks
Amit Srivastava
Hi,
I hope you received the wsdl from your webservice team. you have to use the soap action which should be there in the wsdl.
Regards,
Muni.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Wait Lucas,
It's inbound SAP or outbound SAP ?
Because How do you use the SOAPUI for receiver msg ?
Do you have the adress of Webservice ? IF yes could you please do the action below:
http:/blalblalblabalbalbalbalba?wsdl
You will see the structure of WSDL , search for "soapAction'.
Kind regards,
Ricardo Viana.
Error creating ABAP PROXY in SPROXY using the External Interface Definition in Service:
message part refers a type, not an element
Structure XML:
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="urn:DefaultNamespace" xmlns:intf="urn:DefaultNamespace" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:DefaultNamespace">
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:DefaultNamespace">
<complexType name="CAMPO">
<sequence>
<element name="NOMECAMPO" type="xsd:string"/>
<element name="TIPOCAMPO" type="xsd:string"/>
<element maxOccurs="unbounded" minOccurs="0" name="VALORCAMPO" type="xsd:string"/>
</sequence>
</complexType>
<complexType name="DOC">
<sequence>
<element name="CHAVE" type="xsd:string"/>
<element name="FORM" type="xsd:string"/>
<element maxOccurs="unbounded" minOccurs="0" name="CAMPOS" nillable="true" type="impl:CAMPO"/>
</sequence>
</complexType>
<complexType name="RETORNO">
<sequence>
<element name="UNID" type="xsd:string"/>
<element name="CODIGO" type="xsd:short"/>
<element name="MESSAGE" type="xsd:string"/>
</sequence>
</complexType>
</schema>
</wsdl:types>
<message name="ATUALIZADOCResponse">
<part name="ATUALIZADOCReturn" type="impl:RETORNO"/>
</message>
<message name="ATUALIZADOCRequest">
<part name="DOC" type="impl:DOC"/>
</message>
<portType name="GerAtualizaRegistro">
<operation name="ATUALIZADOC" parameterOrder="DOC">
<input message="impl:ATUALIZADOCRequest" name="ATUALIZADOCRequest"/>
<output message="impl:ATUALIZADOCResponse" name="ATUALIZADOCResponse"/>
</operation>
</portType>
<binding name="DominoSoapBinding" type="impl:GerAtualizaRegistro">
<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="ATUALIZADOC">
<wsdlsoap:operation soapAction="ATUALIZADOC"/>
<input name="ATUALIZADOCRequest">
<wsdlsoap:body namespace="urn:DefaultNamespace" use="literal"/>
</input>
<output name="ATUALIZADOCResponse">
<wsdlsoap:body namespace="urn:DefaultNamespace" use="literal"/>
</output>
</operation>
</binding>
<service name="GerAtualizaRegistroService">
<port binding="impl:DominoSoapBinding" name="Domino">
<wsdlsoap:address location="http://XXXXX/GeralDoc?OpenWebService"/>
</port>
</service>
</definitions>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
So Ricardo, this was my first exit, create the DT and MT REQ / RES, but then the interface begins to show the problem:
/ Parsing / ADAPTER.SOAP_EXCEPTION - soap fault: No such operation 'mt_XXX_Request'.
If I use the External Definition SI presents the error to create the proxy!
Thanks for the help!
31.01.2014 10:17:38.994 | Information | Message was received by the messaging system. Protocol: XI URL: http://XXXX/MessagingSystem/receive/AFW/XI Credential (User): PIISPD1 |
31.01.2014 10:17:38.998 | Information | Using connection SOAP_http://sap.com/xi/XI/System. Trying to put the message into the request queue |
31.01.2014 10:17:39.003 | Information | Message successfully put into the queue |
31.01.2014 10:17:39.006 | Information | The message was successfully retrieved from the request queue |
31.01.2014 10:17:39.007 | Information | Message status set to DLNG |
31.01.2014 10:17:39.009 | Information | Delivering to channel: XXXX_Funcionario |
31.01.2014 10:17:39.009 | Information | MP: processing local module localejbs/sap.com/com.sap.aii.af.soapadapter/XISOAPAdapterBean |
31.01.2014 10:17:39.030 | Information | SOAP: request message entering the adapter with user J2EE_GUEST |
31.01.2014 10:17:39.218 | Information | SOAP: completed the processing |
31.01.2014 10:17:39.219 | Information | SOAP: continuing to response message ad26d533-8a71-11e3-b462-000003ca861a |
31.01.2014 10:17:39.219 | Error | SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: No such operation mt_XXX_Request |
31.01.2014 10:17:39.226 | Error | SOAP: error occured: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: No such operation mt_XXX_Request |
31.01.2014 10:17:39.226 | Error | MP: exception caught with cause com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: No such operation 'mt_XXX_Request' |
31.01.2014 10:17:39.230 | Error | Exception caught by adapter framework: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: No such operation 'mt_XXX_Request' |
31.01.2014 10:17:39.231 | Error | Delivery of the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: response message contains an error XIAdapter/PARSING/ADAPTER.SOAP_EXCEPTION - soap fault: No such operation 'mt_XXX_Request'. Setting message to status failed |
31.01.2014 10:17:39.233 | Error | Message status set to FAIL |
Lucas,
Do you create the DT and MT for proxy structure or use a wsdl for that ?
I dont understand the point "I was not allowed to use the definition as external error occurred while creating the abap proxy." Why not ?
Kind regards,
BR.
Ricardo Viana.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Lucas,
actually you need a SOAP action for calling the SOAP service. YOu should check the WSDL for that action and enter this in the SOAP CC.
BR
Harald
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.