Error Re-using Sender SOAP Channel
Hi,
I have a requirement to send multiple messages to PI using same SOAP Sender Channel; I referred to help.sap.com and found that there is no restriction in re-using a SOAP Sender Channel.
However when I sent a message using SAP SOAP client, namespace for soap envelope got added which is failing the messages in PI.
Correct message:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ConsumerData>
<UserId>12345</UserId>
<AccountData>9561234</AccountData>
</ConsumerData>
Incorrect message (in SXMB_MONI):
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<ConsumerData xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<UserId>12345</UserId>
<AccountData>9561234</AccountData>
</ConsumerData>
1) How to avoid getting the URL (xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/") in the message?
2) Is it really possible to re-use the SOAP Sender Channel to get different types of messages (from same sender party & service)?
I did make use of Do Not Use SOAP Envelope in the channel and &nosoap=true in URL; but no luck.
Please help. I need to get this approach working
Thanks
Pankaj
>>1) Use one Sender channel per source system; so less number of objects.
Yes, you can reuse one sender channel for many WSDL scenarios.
>>2) to keep the PI URL common for one source system; PI URL dependent only on Sender Party, Sender Service and Sender Channel, no mention of Sender Interface Name in the URL I am using the format http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c (Note - 856597).
I hope I can achieve the requirement in point 2 without any issue.
This is not possible. WSDL URL will be different for every interface. Because it is also specific to sender interface and sender interface namespace. When you create you have to specify these variables too.
Example:
http://host:port/XISOAPAdapter/MessageServlet?channel=:BC_TEST:CC_SOAPCHANNEL&interface=SI_TEST&interfaceNamespace=http://test/TRI_DatabaseLookup
When you create initially you input only first
http://host:port /XISOAPAdapter/MessageServlet?channel=p:s:c
and subsequent screen you will need to input sender service interface and interface namespace.
Hope that helps.
Similar Messages
-
I have a SOAP->RFC sceanario. when i provide the input data to the sender SOAP channel with single name space i.e.
<?xml version="1.0" encoding="UTF-8" ?>
- <ns0:OasisGetSalesOrgList xmlns:ns0="http://xi.abc.com/corp/OASIS_GETSALESORGLIST">
- <HeaderInfo>
<MessageID>uqID</MessageID>
<MessageTimeStamp>2008-03-04T02:29:11Z</MessageTimeStamp>
<VersionID>1.0</VersionID>
<OasisSystemID>DEMO-DB-0000</OasisSystemID>
<OasisUserID>DEMO</OasisUserID>
<AgentID>404537</AgentID>
</HeaderInfo>
</ns0:OasisGetSalesOrgList>
my scenario gets executed successfully. But when i give the input data to the sender SOAP channel with multiple name space i.e.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping -->
- <OasisGetSalesOrgList xmlns="http://xi.abc.com/corp/OASIS_GETSALESORGLIST" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <HeaderInfo xmlns="">
<MessageID>uqID</MessageID>
<MessageTimeStamp>2008-03-04T01:48:54.426Z</MessageTimeStamp>
<VersionID>1.0</VersionID>
<OasisSystemID>DEMO-DB-0000</OasisSystemID>
<OasisUserID>DEMO</OasisUserID>
<AgentID>HLITOPS</AgentID>
</HeaderInfo>
</OasisGetSalesOrgList>
the sender SOAP channel gives the Mapping Transformation error.
What should i do?hI,
If you have created a message type in conjunction with your source XML then normally you will get only one namespace associated with it. If you want to use multiple namespaces then use the message type as an external definiton where namespace is not specfically defined and try mapping it. I guess you should be able to do it then. Just a suggestion.
Regards,
Merrilly -
IOException: invalid content type for SOAP: TEXT/ using Sender SOAP adapter
Hi all,
When I am using Sender SOAP adapter, i am getting (MessagingException: Could not parse XMBMessage. Reason: java.io.IOException: invalid content type for SOAP: TEXT/HTML using connection SOAP_http://sap.com/xi/XI/System) exception.
From my RWB I can see:
2009-05-25 16:18:39 Information The message was successfully retrieved from the call queue.
2009-05-25 16:18:39 Information The message status was set to DLNG.
2009-05-25 16:18:39 Error Failed to parse the XI system response.
2009-05-25 16:18:39 Error The message was successfully transmitted to endpoint com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIMessage creation failed (inbound). Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not parse XMBMessage. Reason: java.io.IOException: invalid content type for SOAP: TEXT/HTML using connection SOAP_http://sap.com/xi/XI/System.
2009-05-25 16:18:39 Error The message status was set to FAIL.
2009-05-25 16:18:39 Error Returning to application. Exception: com.sap.engine.interfaces.messaging.api.exception.MessagingException: XIMessage creation failed (inbound). Reason: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Could not parse XMBMessage. Reason: java.io.IOException: invalid content type for SOAP: TEXT/HTML
Please help if possible! Thanks!
MayankHi,
Check in SLD your integration engine business system have the following
pipeline url : http://server:httpport/sap/xi/engine?type=entry
check Http port also
After that go to TCODE - SXMB_ADM - integrationn engine configuration and check if your server is configured as HUB with the same url or not.
Thanks
Kasturika Phukan -
URL in sender SOAP channel with user and password
Hi Expert,
I have developed SOAP to proxy scenario.The serder WSDL is generated by using sender agreement. In the WSDL we are using default below URL.
http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
But the client requirement is that he want SAP user and password also in above url.
Is this possible in sender SOAP channel?
Any body can please help me for above issue?
Thanks.
Edited by: darshana-PI on Feb 1, 2012 5:26 PMThanks prateek,
we have used HTTP plain adapter for this and used below link to call that interface in PI. And its working.
http://server:port/sap/xi/adapter_plain?service=<xxx>&namespace=<xxx>&interface=<xxx>&sap-user=<xxx>&sap-password=<xxx>&qos=BE
I can understand the security related problem, but that was the requirement for end application.
Thanks,
Darshana. -
SOAP scenario without sender SOAP channel
Hi Experts,
I am developing a scenario of SOAP to JDBC.
Here my test data is coming from Altova Spy for sender SOAP side.
I have configured the scenario without sender SOAP channel, and sender agreement.
But while sending the SOAP message I am getting the error as data cannot be posted.
Can anybody please tell me, whether is it possible to have such configuration without SOAP sender channel.
And if yes, then what would be the URL that I have to give for posting the data.
Awaiting your reply.
Regards,
Supriya Sawant.I have gone throgh this Note.
But now I m getting this error:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header>
</SOAP:Header>
<SOAP:Body>
<SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<faultcode>SOAP:Client</faultcode>
<faultstring>Error during parsing of SOAP header</faultstring>
<faultactor>http://sap.com/xi/XI/Message/30</faultactor>
<detail>
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIProtocol</SAP:Category>
<SAP:Code area="PARSER">ITEM_MISSING</SAP:Code>
<SAP:P1>Header</SAP:P1>
<SAP:P2/>
<SAP:P3/>
<SAP:P4/>
<SAP:AdditionalText/>
<SAP:ApplicationFaultMessage namespace=""/>
<SAP:Stack>XML element Header missing in SOAP message header (SAP XI Extension)
</SAP:Stack>
</SAP:Error>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope> -
Error 401 while sending SOAP Request to XI
hi friend ..
i am getting Error 401 while sending SOAP Request to XI..
can u suggest me where may be the error?
thanks..Hi,
Refer these threads:
Testing XI SOAP scenario via XMLSpy
Re: SOAP Sender ADAPTER 401 No Authorisation
Re: XI Web Service - Code: (401) Unauthorized.
Try soap client https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/9b16d790-0201-0010-4e9b-baa5f42830d8
Regards
Suraj -
One of the sender SOAP channel is inactive by itself in the CC monitoring
HI All
sender soap channel is showing inactive in the RWB. But when i check the status in Integration directory it is active. It got inactive by itself . can anybody help me how i can activate it.
regards
sandepHi Sandeep,
There are two ways to Active or Incative communication channel,
1)Select communication channel in Componnet monitoring and start the communication channel,it will actuvate.if you want inactive stop it.
or
2)Iin Integration Directory select mode as Active it will start.
sometimes it behaves like that...
REgards,
Raj -
Error using Sender SOAP adapter over HTTPS
Hi experts,
Few weeks ago, i developed an interface as follows: SOAP <-> XI <-> RFC.
I tested the functionality using Altova and everything went well, with HTTP.
However, when i use HTTPS it fails throwing these error messages (pop ups):
<i>"HTTP error: could not post file"......
"Error sending the soap data"</i>
I have reviewed the SSL certificates installation and everything seems to be ok, but currently i am stuck and do not know how to fix this.
I have also change the ID comm channel from HTTP to HTTPS with client aut.
Is there any special service i have to activate? (XI services and SPIGATE are already done)
Could you please assist?
Thanks in advance and best regards,
DavidDavid,
have a look @ these threads...u may get some help!!!
Sender Soap with HTTPS
https Soap Adapter
Regards
Biplab -
Communication using Sender soap adapter using secured certificates
Hi All,
For sender soap scenario,
We have installed 3rd party certificate on XI and we have give them XI SSL certificate to 3rd party.
We are getting handshake error when they send message using XI URL.Can you please tell me in which location on webserver where 3rd party has to install certificate and what all settings
I need to give in communication channel and sender agreement?
thanks a lot.
Best Regards,
Harleen Kaur ChadhaCan you please tell me in which location on webserver where 3rd party has to install
certificate and what all settings I need to give in communication channel and sender agreement?
Check this link to know more:
http://help.sap.com/saphelp_nwpi71/helpdata/en/32/1c1041a0f6f16fe10000000a1550b0/frameset.htm
Also there is a Blog by Alexander on Principal Propagation....you can refer it to know more on how, where to include the certificates..
Regards,
Abhishek. -
Error while testing sender SOAP scenario from XMLSpy-but can test from RWB
HI,
I developed one scenario with sender SOAP adapter and Receiver side ABAP proxy.
Now I want to test my scenario.
I tested my scenario successfully from RWB-->Integration server Integration Engine. ( it posted successfully and I can see checked flag in SXMB_MONI)
But when I tried to test the scenario fro XML spy it is throwing HTTP error 500.
When I type my URL in internet explores it is giving Message Servlet is in Status OK.
I am not sure what is the difference between there two type of testing.
What does it mean by successful from RWB and fails from XMLSpy?
Why I am getting this error from XMLSpy?Dear Ashok,
if RWB showing you successful then message in not in error.
XML Spy giving error HTTP 500 not it is just server error.This might be due to large payload.
here is the description of all error related with 500+
5xx Server Error
The server failed to fulfill an apparently valid request.
Response status codes beginning with the digit "5" indicate cases in which the server is aware that it has erred or is incapable of performing the request. Except when responding to a HEAD request, the server SHOULD include an entity containing an explanation of the error situation, and whether it is a temporary or permanent condition. User agents SHOULD display any included entity to the user. These response codes are applicable to any request method.
500 Internal Server Error
501 Not Implemented
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
505 HTTP Version Not Supported
506 Variant Also Negotiates (RFC 2295)
507 Insufficient Storage (WebDAV) (RFC 4918)
509 Bandwidth Limit Exceeded
This status code, while used by many servers, is not an official HTTP status code.
510 Not Extended (RFC 2774)
first ping your server
Tcode for this is SM49>ping
Then in additional parameter put the server IP and execute it will show you its reachability.
if it is not reachable then contact the server vendor,
Else if it is timeout problemthen
you run Tcode SXMB_ADM>intregration engine configuration
put category RUNTIME
then click specific configuration
Then change/increase HTTP timeout
**PS: Reward points if useful**
Regards,
Sumit Gupta -
Sender Soap Channel is not working - Service Temporarily Unavailable [503]
dEAR FRIENDS,
We are facing one critical issue in sender soap adapter. After upgrading our system to PI 7.1 The sender soap channle is not working. From source system it is not reaching PI : the log from source system as follows:
org.springframework.ws.client.WebServiceTransportException: Service Temporarily Unavailable [503]
at org.springframework.ws.client.core.WebServiceTemplate.handleError(WebServiceTemplate.java:627)
at org.springframework.ws.client.core.WebServiceTemplate.doSendAndReceive(WebServiceTemplate.java:551)
at org.springframework.ws.client.core.WebServiceTemplate.sendAndReceive(WebServiceTemplate.java:502)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:351)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:345)
at org.springframework.ws.client.core.WebServiceTemplate.marshalSendAndReceive(WebServiceTemplate.java:337)
at com.palm.txnengine.wsclient.DailyRevenuePostingWSGateWaySupport.postToSap(DailyRevenuePostingWSGateWaySupport.java:23)
at com.palm.txnengine.wsclient.DailyRevenuePostingImpl.execute(DailyRevenuePostingImpl.java:93)
at org.springframework.batch.core.step.tasklet.TaskletStep$2.doInChunkContext(TaskletStep.java:264)
at org.springframework.batch.core.scope.context.StepContextRepeatCallback.doInIteration(StepContextRepeatCallback.java:67)
at org.springframework.batch.repeat.support.RepeatTemplate.getNextResult(RepeatTemplate.java:352)
at org.springframework.batch.repeat.support.RepeatTemplate.executeInternal(RepeatTemplate.java:212)
at org.springframework.batch.repeat.support.RepeatTemplate.iterate(RepeatTemplate.java:143)
at org.springframework.batch.core.step.tasklet.TaskletStep.doExecute(TaskletStep.java:239)
at org.springframework.batch.core.step.AbstractStep.execute(AbstractStep.java:198)
at org.springframework.batch.core.job.AbstractJob.handleStep(AbstractJob.java:348)
at org.springframework.batch.core.job.flow.FlowJob.access$0(FlowJob.java:1)
at org.springframework.batch.core.job.flow.FlowJob$JobFlowExecutor.executeStep(FlowJob.java:137)
at org.springframework.batch.core.job.flow.support.state.StepState.handle(StepState.java:60)
at org.springframework.batch.core.job.flow.support.SimpleFlow.resume(SimpleFlow.java:144)
at org.springframework.batch.core.job.flow.support.SimpleFlow.start(SimpleFlow.java:124)
at org.springframework.batch.core.job.flow.FlowJob.doExecute(FlowJob.java:105)
at org.springframework.batch.core.job.AbstractJob.execute(AbstractJob.java:250)
at org.springframework.batch.core.launch.support.SimpleJobLauncher$1.run(SimpleJobLauncher.java:110)
at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
at org.springframework.batch.core.launch.support.SimpleJobLauncher.run(SimpleJobLauncher.java:105)
at org.springframework.batch.core.launch.support.CommandLineJobRunner.start(CommandLineJobRunner.java:207)
at org.springframework.batch.core.launch.support.CommandLineJobRunner.main(CommandLineJobRunner.java:254)Hi,
Please check this generic description:
The error message 503 Service unavailable Application stopped! is displayed.
Description:The server is currently unable to handle the request due to a temporary overloading or maintenance of the server. The implication is that this is a temporary condition which will be alleviated after some delay. If known, the length of the delay MAY be indicated in a Retry-After header. If no Retry-After is given, the client SHOULD handle the response as it would for a 500 response.
Note: The existence of the 503 status code does not imply that a server must use it when becoming overloaded. Some servers may wish to simply refuse the connection.
Possible Tips: Because of J2EE application com.sap.aii.af.ms.app not active
u2022 Try to (re)start the application using the Visual Administrator Choose Server --> Services --> Deploy --> View on Application or restart the J2EE engine
u2022 The problem is that not all J2EE services can be started by the J2EE. i.e Start the Visual Administrator and select Server->Services->Deploy in the tree on the left. On the right-hand side, choose the Runtime tab page. You see a tree in the right window with all applications if you select the APPLICATION radio button. Check if they are running, otherwise choose Start. Usually the J2EE engine starts all services automatically.
u2022 Refer SAP Note 803145,807000,791655
May it helps.
Regards,
Caio Cagnani -
Files not getting picked up using Sender Communication Channel frm MDM sy
Hi Experts,
XI sender communication channel is configured to pick up any files coming from MDM system from the following path
/XXX/XXX/mdm/mds/XXX/XXX/Material_Master/Outbound/P33/P33_R3_PORT/Ready
Earlier we had the scenario working properly that created idocs in R3 system.(MDM>XI>R3)
Currently i tried to test the scenario again but i don't see an entry in the sxmb_moni or tried checking whether the sender communication channel is working properly it showed polling correctly in RWB.The files are already sitting in the the above path.XI should be picking it up but don't know what the problem is?
I also tried a test in RWB>Integration Engine>Test Message put the payload and it was able to create idocs in R3.So i concluded there is an error in picking up message from MDM.
Is there any log available for the commmunication channel where i can see error info of whether any files picked up or not.
Please suggest me what all can be done to to ensure the CC is picking up the files.
Earlier responses highly appreciated.
B'Rgds,
SudhansuHi,
In addition to the RWB channel check suggested by Aamir, you should also check if the channel is
1) Active in ID
2) Channel is not locked in VA, if it is locked then your status in RWB will show processing started but the files wont be picked up...for more details check the unlocking procedure mentioned in this thread:
JDBC Sender Adapter - NOT FETCHING RECORDS -PROCESSING STARTED
The unlocking procedure is the same for FILE and JDBC....
Regards,
Abhishek. -
Content conversion by using sender JMS channel
Hi All,
I have developed a scenario from JMS to Idoc. I need to read flat files by using sender jms adapter. I have configured message transform bean in module tab and respective content conversion parameters as well. My flat files contains different structures. So I need to use conversion type as StructPlain2XML. Based on keyField value I am diffentiating flat file records. My requirement is I have to give two spaces in <xml.keyFieldValue> parameter. fixed Length of keyFieldValue is 6, Actual value getting from source file is DEST. I need to pass two spaces as per fixed length specification. I have passed two spaces, but after activating spaces are removed by system bydefault. Because of this an empty file is processed by PI. Source file contains two spaces after DEST. I need to read two spaces along with DEST value as keyFieldValue. How to achieve this..
Thanks in advance.
Best Regards,
Ashok.Hi Ashok
You can resolve this by splitting the field into two fields - and actual key field and a dummy/temp field.
I've just blogged about this technique, you can refer to it here
Content Conversion for fixed length files with key field value shorter than key field length
Rgds
Eng Swee -
Linkage Error when using Apache SOAP 2.2 with Weblogic 6.1
Has anyone seen this error before? Apparently I've got some incompatible versions of xerces being loaded. I tried putting different versions of xerces.jar in the front of my classpath, and creating an XML Registry to point to org.apache.xerces.jaxp..., but I always get the same error message.
D:\soap>java -classpath "/soap-2_2/lib/soap.jar;activation.jar;mail.jar;xerces.jar;." org.apache.soap.server.Servic
eManagerClient http://localhost:8001/App/servlet/rpcrouter list
Ouch, the call failed:
Fault Code = SOAP-ENV:Server.Exception:
Fault String = loader constraints violated when linking org/xml/sax/InputSource classHas anyone seen this error before? Apparently I've got some incompatible versions of xerces being loaded. I tried putting different versions of xerces.jar in the front of my classpath, and creating an XML Registry to point to org.apache.xerces.jaxp..., but I always get the same error message.
D:\soap>java -classpath "/soap-2_2/lib/soap.jar;activation.jar;mail.jar;xerces.jar;." org.apache.soap.server.Servic
eManagerClient http://localhost:8001/App/servlet/rpcrouter list
Ouch, the call failed:
Fault Code = SOAP-ENV:Server.Exception:
Fault String = loader constraints violated when linking org/xml/sax/InputSource class -
Issue with HTTPS in sender soap channel: HTTP 502 Proxy error
Hi
We have a situation where we are providing the target url in SOAP receiver channel dynamically.
This is a synchronous scenario.
Whenever we use the url starting with "HTTP" it works but on using "HTTPS" we are getting the following error "HTTP 502 Proxy error"
Kindly help us resolve this issue.Hi Anurag
Have you tried to open the HTTPS url in the web browser?
Please check with 3rd party and find out whether the web service supports the HTTPS url or not.
Please check the doc below. It may help
502 Bad Gateway Error (What It Is and How To Fix It)
Maybe you are looking for
-
I am frustrated and desperate to figure out how to set up my bulletin so that it prints in a booklet format!!!!! In my "WORD" program this was done when I click on print ...I would choose landscape, 2 sided, legal paper and an actual "booklet" form
-
How Can I get my JayBird Freedom Bluetooth Earbud Headset to Work with my MacBook Pro-Retina
I have a 1st gen iPad and a relatively new MacBook Pro 15 Retina. As well, I also have a Jaybird Freedom Bluetooth Earbud Headset (Mic/Stereo Speakers). Finally, I have a Droid X (I'll explain in a minute why I mention this). My BT Earbuds can pair
-
Hi All, I am in the process of installing EP7 on SLES9 and MaxDB 7.6 on a clustered HA environment where the SCS, DB and JC components are installed under and referenced by their virtual hostname (eg. sapinst SAPINST_USE_HOSTNAME <virt name>). The SC
-
Hello, I'm a newbie as well and I'm being migrated from LabWindows to LabVIEW. I'm trying to use the "General Error Handler" VI to handle some problems if there is a problem on the GPIB Bus. I'm a bit confused and befuddled with it. I need to supply
-
Select statements inside a SQL Expression field
Hello Why cannot we use the Select statements inside a SQL expression field in Crystal Reports ? Any alternatives for this... SELECT Top(1) "SomePrivateDatabase"."SPDname" FROM "SomePrivateDatabase" inner join "Subscriber" on "Subscriber"."SPDID" = "