cancel
Showing results for 
Search instead for 
Did you mean: 

Issues with Sender SOAP scenario and wsdl

former_member440061
Participant
0 Kudos

Hi Experts,

We are working on SOAP to IDOC asynchronous scenario, using SAP PI 7.1. To test the same, we are using SOAPUI tool.

But when we do a WSI-compliance check on our wsdl, we get the following error:

WSDLException (at /wsdl:definitions/wsdl:portType/wsdl:operation[1]/wsp:Policy): faultCode=INVALID_WSDL: Encountered unexpected '{http://schemas.xmlsoap.org/ws/2004/09/policy}Policy'

Also, when we trigger the message using one of the operations, the message arrives in message monitoring and goes into system error after waiting for some time, and the logs show the following error:

SOAPFault received from Integration Server. ErrorCode/Category: XIProtocol/WRONG_VALUE; Params: SOAP:Envelope(1)SOAP:Header(1)sap:DynamicConfiguration(4)sap:Record(4), channel=P:S:C&version=3.0&Sender.Party=http://sap.com/xi/XI:XIParty:P&Sender.Service=S&Interface=, ST: ST_XMS_MSGHDR30_DYNAMIC; AdditionalText: An error occurred when deserializing in the simple transformation program ST_XMS_MSGHDR30_DYNAMIC; ApplicationFaultMessage: null; ErrorStack: XML tag SOAP:Envelope(1)SOAP:Header(1)sap:DynamicConfiguration(4)sap:Record(4) (or one of the attributes) has incorrect value channel=P:S:C&version=3.0&Sender.Party=http://sap.com/xi/XI:XIParty:P&Sender.Service=S&Interface= An error occurred when deserializing in the simple transformation program ST_XMS_MSGHDR30_DYNAMIC Data loss occurred when converting channel=P:S:C;version=3.0&Sender.Party=http://sap.com/xi/XI:XIParty:P&Sender.Service=S&Interface=


Any idea what could be the problem. How can we get the wsdl correct as per WSI complaince. Also, what could be the reason we are getting this error in message monitoring in RWB.


Thanks in advance.


- Faisal

Accepted Solutions (1)

Accepted Solutions (1)

former_member440061
Participant
0 Kudos

The Issue has been resolved. Appending "&nosoap=true" at the end of the url did the trick. the final url looks like :

http ://host:port/XISOAPAdapter/MessageServlet?senderParty=SenderPartyName&senderService=SenderServicename&receiverParty=&receiverService=&interface=InterfaceName&interfaceNamespace=urn:InterfaceNamespace&nosoap=true

Thanks a lot for help.

Answers (2)

Answers (2)

former_member187587
Contributor
0 Kudos

I beleive you are missing the Interface Party (if exists),Sender service Name and interface name.

These are basic values needed in PI when message is entering the pipline.

Please refer to SAP help in the link in order to create a valid call from SOAP UI.

In the SOAP UI fill in the SOAP Header details needed.

https://help.sap.com/saphelp_nw73/helpdata/en/48/3555240bea31c3e10000000a42189d/frameset.htm

----------------------------------------

Result

---------

You have configured the SOAP sender adapter. You can trigger a call to the sender SOAP adapter using either of the following URLs. However, SAP recommends you to use the second option.

  • http:// <host name> : <port name> /XISOAPAdapter/MessageServlet?channel= <party name> : <service name> : <channel name>                   . If you have not created a party, enter  channel=: <service name> : <channel name>                                  
  • http://   <host name> :   <port name> /XISOAPAdapter/MessageServlet?senderParty=   <name of the sender party> &senderService=   <name of the sender service> &interface=   <name of the interface> &receiverParty=   <name of the receiver  party> &receiverService=   <name of the receiver service> &interfaceNamespace=   <name of the interface namespace>                  


former_member440061
Participant
0 Kudos

Nimrod,

I have configured the url in the same format as you have mentioned. and Party, Sender Service Name and channel name are mentioned in the url. I obtained that from "Display WSDL" from Tools option in ID. I have also tried using the wsdl from Sender agreement, but to no avail.

Update: I tried re creating the channel and using that in my sender agreement. Now the message are failing in SOAP UI itself with following error:

HTTP/1.1 500 Internal Server Error

server: SAP NetWeaver Application Server 7.11 / AS Java 7.11

content-type: text/xml; charset=utf-8

content-encoding: gzip

date: Thu, 21 May 2015 11:12:08 GMT

transfer-encoding: chunked

set-cookie: JSESSIONID=M61J89pJeyzDBGFBrmgbOoldXSx2TQECfRIA_SAPX6BRhy2Co1_UQ9OfbMfO0gkH; Version=1; Path=/

<?xml version='1.0'?>

<!-- see the documentation -->

<SOAP:Envelope xmlns:SOAP='http://schemas.xmlsoap.org/soap/envelope/'>

  <SOAP:Body>

    <SOAP:Fault>

      <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.JAVA_EXCEPTION</code>

          <text><![CDATA[

com.sap.aii.af.service.cpa.CPAObjectNotFoundException: Couldn't retrieve inbound binding for the given P/S/A values: FP=;TP=;FS=null;TS=;AN=null;ANS=null;

    at com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.getInboundBinding(CommonLookup.java:237)

    at com.sap.aii.af.service.cpa.impl.lookup.CommonLookup.getInboundBinding(CommonLookup.java:167)

    at com.sap.aii.af.service.cpa.InboundRuntimeLookup.<init>(InboundRuntimeLookup.java:88)

    at com.sap.aii.af.service.cpa.impl.lookup.AbstractLookupManager.getBinding(AbstractLookupManager.java:519)

    at com.sap.aii.adapter.soap.web.MessageServlet.getBinding(MessageServlet.java:879)

    at com.sap.aii.adapter.soap.web.MessageServlet.doPost(MessageServlet.java:451)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.runServlet(FilterChainImpl.java:162)

    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:81)

    at com.sap.engine.services.servlets_jsp.server.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:124)

    at com.sap.engine.services.servlets_jsp.server.runtime.FilterChainImpl.doFilter(FilterChainImpl.java:73)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:461)

    at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:298)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:397)

    at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386)

    at com.sap.engine.services.servlets_jsp.filters.DSRWebContainerFilter.process(DSRWebContainerFilter.java:48)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.servlets_jsp.filters.ServletSelector.process(ServletSelector.java:83)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.servlets_jsp.filters.ApplicationSelector.process(ApplicationSelector.java:243)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.WebContainerInvoker.process(WebContainerInvoker.java:78)

    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.ResponseLogWriter.process(ResponseLogWriter.java:60)

    at com.sap.engine.services.httpserver.chain.HostFilter.process(HostFilter.java:9)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.DefineHostFilter.process(DefineHostFilter.java:27)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.MonitoringFilter.process(MonitoringFilter.java:29)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.MemoryStatisticFilter.process(MemoryStatisticFilter.java:43)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.filters.DSRHttpFilter.process(DSRHttpFilter.java:42)

    at com.sap.engine.services.httpserver.chain.ServerFilter.process(ServerFilter.java:12)

    at com.sap.engine.services.httpserver.chain.AbstractChain.process(AbstractChain.java:78)

    at com.sap.engine.services.httpserver.server.Processor.chainedRequest(Processor.java:428)

    at com.sap.engine.services.httpserver.server.Processor$FCAProcessorThread.process(Processor.java:247)

    at com.sap.engine.services.httpserver.server.rcm.RequestProcessorThread.run(RequestProcessorThread.java:45)

    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:122)

    at com.sap.engine.core.thread.execution.Executable.run(Executable.java:101)

    at com.sap.engine.core.thread.execution.CentralExecutor$SingleThread.run(CentralExecutor.java:327)

          ]]></text>

        </s:SystemError>

      </detail>

    </SOAP:Fault>

  </SOAP:Body>

</SOAP:Envelope>

Any idea..?

Thanks.

Faisal Jamal

former_member187587
Contributor
0 Kudos

Check your configuration scenario.

I think you are missing\missmatching some configuration in the Sender agreement?

former_member184720
Active Contributor
0 Kudos

May i know to which URL you are sending the message?

Also what is the message protocol that you have configured in the channel?

former_member440061
Participant
0 Kudos

Hello Harish,

Given below is the format of the url I am using :

http:// host:port/XISOAPAdapter/MessageServlet?channel=PartyName:ServiceName:Channelname&amp;version=3.0&amp;Sender.Party=http%3A%2F%2Fsap.com%2Fxi%2FXI%3AXIParty%3APartyName&amp;Sender.Service=ServiceName&amp;Interface=Interface

The Message protocol I am using is SOAP 1.1.

Thanks.