SOAP Sender Channel _Error in handling SOAP Envelope message
Hi XI/PI Experts :
Scenario : SOAP (SOAP Envelope) to RFC (SAP ERP)
Partners send the information Goods Receipt in SOAP envelope webservice . SOAP Sender removes the SOAP enevlope, inturn sends only the xml in XI /PI:
<GoodsReceipt xmlns="rrn:org.xcbl:schemas/xcbl/v3_5/xcbl35.xsd" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding">
But We have a certain condition which we applied in Interface determination for 2 Interface mapping of GR . The condition is the message process will take place between 2 IM's based on condition : GoodsReceipt/GoodsReceiptHeader/GoodsReceiptPurpose/Purpose/PurposeCoded =Orginal or Cancelled.
Thsi condition of XPATH causes an errror in SXMB_MONI as it is missing the namesspace after the GoodsReceipt xml tag
:xmlns="rrn:org.xcbl:schemas/xcbl/v3_5/xcbl35.xsd" xmlns:SOAP-ENV="http://www.w3.org/2003/05/soap-envelope" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://www.w3.org/2003/05/soap-encoding
Any idea to deal with the solution .Appreciate your inpit,
Note : Graphical mapping is used for Good's Receipt.
Best regards,
Varalakshmi
SAP XI/PI Analyst
Have you selected the option Keep headers in sender SOAP adapter?
.To include the header of the Web service message in the XI message, select Keep Headers.
and also check if you have option NO SOAP Envolope is selected.
Similar Messages
-
Can Soap sender channel be directed to Soap reciever channel
Hi
I have a three layer architecture on the target side. First layer is Web AS, Second layer is Web AS asd third is PI server.
Now i am recieving Soap messages from a source PI. Its a SSL communication. I have to terminate SSL on the first Web AS and pass on the same soap message to third layer that is PI server.
Do i have to configure a Soap sender channel on Web AS to terminate SSL?
If i do configure Soap sender channel on Web AS , how do i send the same soap message to third layer that is PI server. I dont want to write the incoming file at any location and then pick it up and send it through SOAP reciever channel. Is there a way to direct the same SOAP message from SOAP sender channel to SOAP reciver channel.>>pass on the same soap message to third layer that is PI server.
If you simply want to pass on the same messages,why not use configure multiple receiver/interface for it.
Thanx
Aamir -
How to re-use one SOAP Sender Channel for two different messages?
Hi!
I have an XI Proxy to SOAP Sync Scenario. 5 messages uses only 2 channels - cc_XI_Sender and cc_SOAP_Receiver. All messages comes from one Sender Channel and goes to one Receiver channel, and it works fine.
When I make the same for SOAP to XI Proxy Sync Scenario, I've got a problem. For example I have 2 different messages (mi_so_MSG_ONE and mi_so_MSG_TWO), so it works, if I had a two different sender channels (cc_SOAP_R1 and cc_SOAP_R2).
If I set the same Sender Channel in both Sender Agreements (cc_SOAP_R1), only one message (mi_so_MSG_ONE) goes without errors. When I send a second message (mi_so_MSG_TWO), in SXMB_MONI this message comes from Business System (BS_TEST) as message type one (mi_so_MSG_ONE), and then in stage of transformation in Interface Determination goes to message mapping program for other kind of messages (MM_MSG_ONE_to_XI_PROXY). And then - error in message mapping.
I try many URLs for both messages:
1) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=&Interface=
2) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=BS_TEST&Interface=*
3) http://host:port/XISOAPAdapter/MessageServlet?channel=:BS_TEST:cc_SOAP_R1&version=3.0&Sender.Service=BS_TEST&Interface=...MyNameSpace...mi_so_MSG_TWO
Message in payload:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Inbound Message -->
<MSG_TWO xmlns="urn:xxx:yyy:MyNameSpace" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">... some fields... </MSG_TWO>
But in SOAP Header I see that is NOT second message!
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
< !-- Inbound Message -->
<SAP:Main>
<SAP:MessageClass>ApplicationMessage</SAP:MessageClass>
<SAP:ProcessingMode>synchronous</SAP:ProcessingMode>
<SAP:MessageId>93233F70-3E2F-11DF-8CD3-00237D301CD6</SAP:MessageId>
<SAP:TimeSent>2010-04-02T08:13:09Z</SAP:TimeSent>
<SAP:Sender>
<SAP:Service>BS_TEST</SAP:Service>
<SAP:Interface namespace="urn:xxx:yyy:MyNameSpace">mi_so_MSG_ONE</SAP:Interface>
</SAP:Sender>
<SAP:Interface namespace="urn:xxx:yyy:MyNameSpace">mi_so_MSG_ONE</SAP:Interface>
</SAP:Main>
Is it correct that many kinds of messages cannot goes through one Sender Channel ? If not... How can I reuse one SOAP Sender Channel for both this messages?
Thanks for helping.Thanks for answers!
It means a webservice application will be deployed and exposed in PI using the associated Message Interface and its namespace information in the SOAP Sender channel.
It means only one Sender Channel per one pair of names (name of Message Interface and name of namespace). And it will fail if I change something. And question is: why URL for sending SOAP message contains parameter "Interface"?
"backward compatibility" or "for future use only"?
Nothing happens when I change this parameter, seems that name of Interface comes from first of founded Sender Agreements.
If the structures are the same
No. Structures are different.
Making one structure per all SOAP incoming messages looks workable, but... looks strange (in fact I have a lot of SOAP messages, more than 100 Sender channels).
I found an information, that I can use one Sender channel per many messages with different structures only if I make this messages like different Operations in one Service Interface (in PI 7.1).
But in this case in list of messages in SXMB_MONI I will see only a one name of Service Interface for all my messages and it's not so comfortably for supporting: to take a name of operation that fails I need to goes inside.
In older version of XI (prior 7.1) using one sender channel per many messages allowed without any hints. -
Specifying queue name in SOAP sender channel
Hi
We are on XI 3.0 SP18 - I have a requirement in which a soap webservice exposed out of the XI box - is to be called in an asynchronous mode - the webservice posts - document onto R/3 using an ABAP server proxy.
Now, there is also a need to post documents onto R3 - by serializing through an object key - material number ( say updates to a material ). I saw that there is a queue name in the soap sender channel setting when I choose eoio - qos . Is this queue name static ?
Also, any suggestions on how I can serialize the calls to the webservice based on an object key ( material number is supplied by the soap client ) all the way to R3 ( I am using a ABAP server proxy on the R3 side )Ravi
I am looking for way to specify a non-static queue name here - so that I could establish a queue based on an object key from the source - web service client all the way to R3 - I wanted to know the options available on specifying the queue name in the communication channel -
Thanks... -
HTTP Error 501 with SOAP Sender channel
Hello,
i've am simple Question:
I want to call the following SAP XI SOAP Sender channel "MySoapSenderChannel":
XI-Parameters:
namespace: <myInterfaceNamespace>
Interface: <myAsynchInterface>
QoS: Exactly Once in Order
Queue: MY_QUEUE
We do not care about the Response - so the processing is asynchron.
Thus my interface mapping maps to asynch interfaces. The desitnation
is an ABAP Proxy. The configuration has been done and tested.
Here my question:
according the documentation, the URL has the following syntax:
http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel.
In our case:
http://<myHost>:8002/XISOAPAdapter/MessageServlet?channel=:MyService:MySoapSenderChannel.
But when i generate a WSDL for the interface out of the Configuration, the address is:
<soap:address location="http://<myHost>:8002/sap/xi/engine?type=entry&version=3.0&Sender.Service=MyService&Interface=...
and so forth.
But was is the difference between these 2 possibilities?
Why do i get HTTP Error 501 when i use the URL from the documentation (the first one)?
Thanx in advance
GunnarGunnar,
I will suggest you to go through it once to check all your connection.
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
Regards,
Sarvesh -
Defalt VI Parameters in SOAP Sender Channel Config
Hi all,
I have configured soap sender channel with Default XI Parameters as * for both Interface name space and Interface name.
SOAP adapter sends the message with * as the interface namespace and interface and fails with the error "No receiver could be determined".
Why is SOAP adapter is using the default XI parameters from the channel instead of the parameters passed with the SOAP message.
I could make this work specifying the Default XI parameters with correct name space and interface, but my problem is I have 2 different interfaces from the same service and cannel, I don't want to create a separate channel for each of the interfaces.
Please help.Hi Pratat,
you have to set the
Use Query String to true and the adapter will take the service/interface data from the query string instead of the Default XI Parameters
Regards,
Nicolá -
Connection problem in SOAP Sender Channel
Dear All,
I have created two SOAP Sender channel with the following specification:
Transport Protocol - HTTP
Message Protocol - SOAP 1.1
HTTP Security Level - HTTP
But while sending a message from a Java client, I am getting the following error :
The HTTP request is unauthorized with client authentication scheme 'Anonymous'. The authentication header received from the server was 'Basic realm="XISOAPApps"'.
Please suggest if you find any way out.
Thanks and Regards,
Rana Brata DeHi Rana
Looks like you have used authentication scheme as 'anonymous'. But you have chosen the option 'HTTP' in soap adapter.
So you have to pass the user id and password during the call.
Sample Code:
ICalcCTCWebService calcCTCWebService = calcCTCWebServiceImplServiceLocator.getCalcCTCWebServiceImplPort();
Stub stub = (Stub)calcCTCWebService;
stub._setProperty(Stub.USERNAME_PROPERTY, "abc");
stub._setProperty(Stub.PASSWORD_PROPERTY, "xyz");
You can also test the WSDL from SOAP UI and provide user name and password in the header section in SOAP UI and see if the message goes to PI or not.
You can also try the below option in the sender soap adapter and see if it works or not. -
While configurting Soap Sender channel, what should we use for "Deafult XI Parameters" section values for
'Default Interface Namespace' and 'Default Interface Name' ?
ThanksHI,
Input Message Interface name and Namespace of the interface created (NameSpace of the object)
Just to cross check-
http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/5ad93f130f9215e10000000a155106/content.htm
blog e.g-
/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
Regards,
Moorthy -
I am attemping to set up a sender channel using the SOAP adatper to process HTTP(S) posts containg a file that is being uploaded.
The Sender channel is set up to use HTTPS With Client Authentication, and selected "Do Not Use SOAP Envelope" -- since the payload will not be SOAP. I am simply trying to generate a message in PI from the HTTP post.
I have posted the data but am getting the following error in the channel:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessageFormatException: Failed to render XIMessage. Reason: java.io.IOException: Missing mandatory element <sap:Main>sap:Receiver/sap:Service
The trading partner I am workgin with only has the ability to use a generic POST (I believe he is usnig CURL or some some other tool the 'post' the data.Thank you for your reply.
The solution I am seeking is not for XML payload. Its a flat-file that one of our trading partners is sending to us, both for flat files as well as EDI/X12 data. I have the checkbox selected to not use the SOAP Envelope and am using the "nosoap=true" in the URL.
This should be simple, as all we need to do is to pass the data as posted by the trading partner to a SFTP or FILE adapter on the receiver side. Nothing more than we've already done using an AS2 Sender channel for, the trouble with in case case our trading partner does not support any encrypted transports except for HTTPS.
-Gerry -
PI Soap receiver channel calling a Soap Sender channel
Hi,
I had scenario where One pi711 interface need to be called by another interface in PI711.
whole designed is like.
file -> PI1 ->Soap -> Soap ->PI2 -> file.
P1 and P2 are two different interfaces in one PI711 box.
could Soap receiver communication channel can call a Soap sender communcation channel of another interface.
does HTTP or Soap (XI3.0 protocal) is helpful......
regards,
SwatHi,
I am receiving an error as :-
400 Bad HTTP request
Error: -21
Version: 7011
Component: HTTP_PLG
Date/Time: Mon May 24 06:58:32 2010
Module: http_plg_mt.c
Line: 5417
Server: xxx_XD2_02
Error Tag:
Detail: illegal request version
This details error log is taken using TCPgw application downloaded from service marketplace, since in CC monitering error details was too short to investigate..
refered :
/people/stefan.grube/blog/2007/03/29/troubleshooting-soap-http-and-mail-adapter-scenarios-with-tcpgateway
the url which i used in P1 receiver Soap channel to connect to soap sender cc is :-
http://xxx:51000/XISOAPAdapter/MessageServlet?senderParty=&senderService=BCSender2&interface=OutS_SI&receiverParty=&receiverService=BC_Receiver2&interfaceNamespace=http://icc/Test1
Regards,
Swati -
Adapter module in SOAP sender Channel
Hi,
I need to call an adaptermodule to URLdecoding incoming SOAP messages.
The adaptermodule i have developed to do the URLdecode works for other adapters but not for the SOAP sender adapter
Saphelp says it is not possible to use adaptermodules on the SOAP sender adapter.
[SOAP Adapter and plain HTTP |SOAP Adapter and plain HTTP ]
But this above thread indicates that it can be done anyway.
Have any of you succeded in using an adaptermodule for the SOAP sender adapter ? And what do i need to do ?
Best Regards
JensThank you. I hadø'nt looked at the axis SOAP.
The sending system (MAPICS) can only sends http-post's with URLencoded xml to XI.
I recieve the http post in the SOAP adapter (with &nosap=true) and i ment to decode the message in an adapter module.
Can you help me with how to set up an Axis SOAP sender ? Do i need to choose Servlet axis or Task Axis when i create my Axis SOAP sender ?
Best regards
Jens -
Soap Sender Adapter Preserve And Access Soap Header
Hi,
I would like to preserve the Soap Header created by a client and access it in a mapping using the the Soap Sender Adapter (SP16). Does anybody know how to do this?
Kind regards,
HeikoHello Udo,
I have found a solution to this problem. It is possible to add header entries to the DynamicConfiguration which is available by an API:
soapMsg.append("<SOAP-ENV:Header>");
soapMsg.append("<SAP:DynamicConfiguration xmlns:SAP=\"http://sap.com/xi/XI/Message/30\" xmlns:SOAP=\"http://schemas.xmlsoap.org/soap/envelope/\" SOAP:mustUnderstand=\"1\">");
soapMsg.append("<SAP:Record namespace=\"http://sap.com/xi/XI/System/SOAP\" name=\"SRmsUser\">test</SAP:Record>");
This code snip shows Java client code to add an element to the SOAP header which corresponds to the DynamicConfiguration. In XI it will be accessable using the respective API.
Cheers,
Heiko -
"Channel started but inactive" in RWB Monitor for SOAP sender channel
Dear XI specialists,
I have configured a communication scenario involving SOAP Adapter (sender) usage, but I'm facing the issue when testing the scenario. The problem is that none of messages are coming into the SOAP Adapter (checked via TCode SXI_MONITOR in XI) when using 3rd party SOAP-clients (XML Spy, soapUI) based on WSDL-file generated and exported from XI.
I checked the sender communication channel for SOAP Adapter - it is activated in Integration Builder's Directory. SOAP Adapter itself is also started.
I checked Runtime Workbench monitors and in the Communication Channels Monitor of the Components Monitor received the warning saying "Channel started but inactive" for my configured channel as well as for other channels working on SOAP Adapter.
Activities which were performed (in the order in which they were performed and results tested):
1. the configuration channel restart;
2. the communication channel re-activation and further re-start;
3. SOAP Adapter restart;
4. XI system's Java instance restart.
All mentioned activities didn't give any positive effect in part of this issue resolution.
On the other hand, if I use test message functionality of the Runtime Workbench (Component Monitor), then messages are seen in SXI_MONITOR and expected response messages are also returned to XI from integrated business system.
Would you please advise what can be checked else here and where the root of the problem may be detected?
All your answers and feedback will be greatly appreciated and awarded accordingly.
Many thanks in advance and my regards,
VadimDear all,
Thank you for your input! Unfortunately, the problem still exists after testings and checkings which you suggested.
TO Seshagiri:
I checked message monitor and found only several messages for the required sender/receiver services pair in the used namespace - all of them were successfully processed (these are messages which I sent by means of RWB Component Monitor's test message functionality).
TO Sarvesh:
Yes, sender agreement is configured properly. I configured it when configuring communication scenario in the Configuration Wizard and then manually re-checked its definition. Moreover, when performing Test Configuration in ID, I received positive results.
TO Nallam Guna:
I cleared Data Cache in Integration Builder, but this didn't help.
TO Gujjeti:
I'm on SAP NetWeaver 2004s PI 7.0. Service Pack level for PI is 13.
TO Durga:
Thank you for provided links! I have already had a look at them - but proposed solutions doesn't seem to be working in my situation.
Thank you all once again for your prompt answers! I really appreciate your attempts in helping me!
I would appreciate if you could share any further ideas on this issue.
My best regards,
Vadim -
Error with Soap sender channel
I have a scenario SOAP->Proxy ..whenever I send a message through SOAP its giving error as below:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Connection SOAP_http://sap.com/xi/XI/System is currently not started.
Please help me in rectifying this...Kiran,
strange thing is that when we remove the standard module from the channel then its workign fine..
Well, you can try couple of things more -
1. Re-start the java engine.
2. If step 1 doesn't work, delete the channel -> activate the change list -> create a new channel and try again.
I feel that after step 1, it should work. Let us know how it goes.
Regards,
Neetesh -
Adapter Module during Soap sender channel
In Onlin Help you find the order of the modules in Axis adapter:
http://help.sap.com/saphelp_nwpi711/helpdata/en/45/a4a36de28552f7e10000000a1553f7/frameset.htm
So you have to put your module between AFAdapterBean and CallSapAdapter
If you work with PI 7.10 or PI 7.11 you should apply the latest patch to make sure, that the SOAP/Axis adapter has no known issues.
Check the Channel Monitor for issues in the Axis adapter.
Regards
StefanHi Stefan, hi Volker,
thanks for your help.
I´m using PI 7.1 with Enhancement Package 1
could you tell me where to check the patch level for adapter framework?
In SLD I found following infortmation XI Adapter Framewoke 7.11 Installed SP/PL 1/9 newest SP in CR-Content 1
I removed my module from the channel, but the channel fails anyway with the same error message.
Which URL is wright one the
standard => http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
or the axis => http://host:port/XIAxisAdapter/MessageServlet?senderService=myservice&interface=myinterface&interfaceNamespace=mynamespace (are these parameters correct)
as I said above, if I use the standard I see the error in the cc, if I use the axis URL I see nothing
The wright place for my module should be after AF_Adapters/axis/AFAdapterBean ModuleKey afreq and before CallSapAdapter ModuleKey sap, wright???
Kind regards
Jochen
Maybe you are looking for
-
We want only Division field Mandatory in Basic Data 1 View (T Code MM01)
Hi, In Logistics u2013 General-> Material Master-> Field Selection-> Maintain Field Selection for Data Screens, for Field sel. group 90, we selected the Reqd Entry Option Button to make Division field in Basic Data 1 as mandatory. Due to this fields
-
Flatten Transparency&Other in CS2
1- I'm trying to place a transparent image from photoshop to my illustrator artwork and get the white box around the image. What is the best way to prevent the white box from appearing in illustrator? What should I do.. either in photoshop or i
-
I am trying to save 2d collected data in array indicator to file on a button click , and resetting it . I can see values filled in Array indicator , but when i save it to file . only three rows are beeing saved. what i am doing wrong ? Thanks in ad
-
"Best alternative" by default in Mail application
Is there any way to set up Mail application to view always emails in "best alternative" therefor you can always see the emails in HTML or plain text depending how was prepared in his origin?. Thanks.
-
Shared planning for multiple companies
Hi SB1 guys, We have a prospect which is divided in <b>3 different companies</b>. A large part of the payroll is common for those three companies (in other word, employees from company A work also for company B & C - so they have the same user name a