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

  • Sender SOAP  channel

    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!
    Mayank

    Hi,
    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 PM

    Thanks 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
    sandep

    Hi 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,
    David

    David,
    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 Chadha

    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?
    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 &#61664;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,
    Sudhansu

    Hi,
    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 class

    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 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