添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

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.

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>


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

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.

SAP MDO Business Object Type Workforce Person: populate extension fields from PerPerson in Technology Q&A Duplication of Target Nodes in Integration Advisor (Leaf Nodes) in Technology Blogs by SAP API Anomaly Detection in SAP Integration Suite in Technology Blogs by SAP Time Series Forecasting Model Performance Evaluation in Predictive Planning in Technology Blogs by SAP CDS based Analytical oData for Fiori in Technology Blogs by Members