Default namespace & interface in Sender Soap Adapter XI vs. PI 7.1
In XI there is an option to set the default namespace and interface for sender SOAP adapters. Where or how is this to be handled in PI 7.1
Hello,
Where or how is this to be handled in PI 7.1?
This is handled by your sender agreement whenever you post to the URL http(s)://host:port/XISOAPAdapter/MessageServlet?channel=p:s:c
Hope this helps,
Mark
Similar Messages
-
XI 3.0 Sender SOAP Adapter Default XI Parameters
Hi all,
I've noticed when posting to an inbound comm channel using the sender SOAP adapter that unless I specify a namespace and interface under the 'Default XI Parameters', an error is returned indicating I need to specify default values for the namespace and interface.
This doesn't make sense. I don't want to set up a new inbound comm channel for every interface for the same sender service. As long as the SOAP address location is correct, i.e. sender service and interface are specified correctly, why should I need to set a default namespace and interface? Also, what is the expected behavior of the default XI parameters? Should it override what's passed in the SOAP location string?Hi,
I think you have to add:
Optional: xml.addHeaderLine 0
Obligatory: try to put the ; between quotation marks like:
Hope this helps.
Cheers,
Paul -
Does the sender SOAP adapter support multiple operations per interface
Hi guys,
does the sender SOAP adapter support multiple operations per interface? (interface type of 7.1)?
Thanks,
Andrzejtheoretically Yes.
Do have a look into this when you get time
/people/shabarish.vijayakumar/blog/2010/09/08/service-interface-and-multiple-operations--is-it-just-an-hype -
Hi,
I'd like to know the proper format of the POST request to a sender soap adapter with SMIME activated. I've found almost no documentation about it.
I'm trying to send a document ciphered to PI via soap adapter (HTTP POST). I've done the following steps
1. I activate SMIME in the sender soap adapter, and I specify "Decrypt" as the security procedure in the sender agreement. I also incorporate the private key in the keystore DEFAULT and reference to it in the sender agreement.
2. I use OpenSSL to cipher an xml document like this (I use the public certificate associated to the previous private key) :
--> openssl smime -encrypt -in fich.txt -out fich_encrypted.txt certTesting.pem
What I get is:
MIME-Version: 1.0
Content-Disposition: attachment; filename="smime.p7m"
Content-Type: application/x-pkcs7-mime; smime-type=enveloped-data; name="smime.p7m"
Content-Transfer-Encoding: base64
MIIC....[base64 content of the file encrypted]
3. I use CURL to send the HTTP POST request to PI. Previously I get the binary file from the base64 content.
> POST /XISOAPAdapter/MessageServlet?senderParty=&senderService=BC_1[...]
> Authorization: Basic c2U[...]
> Host: pi.[...].com:50000
> Accept: /
> Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=fich_encrypted.der
> User-Agent: Jakarta Commons-HttpClient/3.1
> Accept-Encoding: text/xml
> Content-Disposition: attachment; filename=fich_encrypted.der
> Content-Length: 620
> Expect: 100-continue
but I get this error from the SOAP Adapter:
--> java.io.IOException: invalid content type for SOAP: APPLICATION/PKCS7-MIME.
I also get the same error if I remove the header Content-Disposition.
4. If I send the xml file without ciphering (header Content-Type: text/xml;charset=UTF-8) I get the error:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: SOAP: call failed: java.lang.SecurityException: Exception in Method: VerifySMIME.run(). LocalizedMessage: SecurityException in method: verifySMIME( MessageContext, CPALookupObject ). Message: IllegalArgumentException in method: verifyEnvelopedData( ISsfProfile ). Wrong Content-Type: text/xml;charset=UTF-8. *Expected Content-Type: application/pkcs7-mime or application/x-pkcs7-mime*. Please verify your configuration and partner agreement
PROBLEM --> I really don't know what the SOAP sender channel is expecting when SMIME is activated. I've tried to send the binary file encripted as an attachment and also directly, but the soap adapter complains.
ThanksHI,
for XI EP
Please see the below links so that you can have clear Idea..
/people/saravanakumar.kuppusamy2/blog/2005/02/07/interfacing-to-xi-from-webdynpro
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/webas/java/integrating%20web%20dynpro%20and%20sap%20xi%20using%20jaxb%20part%20ii.article
Consuming XI Web Services using Web Dynpro Part II-/people/riyaz.sayyad/blog/2006/05/08/consuming-xi-web-services-using-web-dynpro-150-part-ii
Consuming XI Web Services using Web Dynpro Part I -/people/riyaz.sayyad/blog/2006/05/07/consuming-xi-web-services-using-web-dynpro-150-part-i
/people/sap.user72/blog/2005/09/15/creating-a-web-service-and-consuming-it-in-web-dynpro
/people/sap.user72/blog/2005/09/15/connecting-to-xi-server-from-web-dynpro
Regards
Chilla.. -
How Sender SOAP Adapter will retriew the data to process further
How Sender SOAP Adapter will receive the data to send the integration server to process further
Hi,
1. All details are always taken from the Sender Agreement.
For the Sender File adapter and the Sender SOAP adapter , the details that include are , Sender Service, Sender Interface Name and namespace and these are the details that make up the SOAP header when the message hits the integration Engine.
Once the corresponding Adapter for the message is identified, ie. the Sender SOAP adapter , the message for the SOAP header is then taken from the Sender Agreement of that adapter. This is the exact reason why one Sender Adapter can be involved in one and only one Sender Agreement.
Regards
Bhavesh -
Change Queue Name in Sender Soap Adapter (or make it dynamic)
Hello SDN!!!!
We have a scenario where we want to make a message EOIO and I have set the Queue Name in the Sender Soap Adapter and this works great. BUT it is needed to have a more specific queue name (based on order numbers not interface name) So with this being said, Is there any way to change the queue name or append to it from the Soap Sender Adapter. I see it is possible to write a Module Bean, but the Message object returned from the ModuleContext is a scaled down version of the normal message object. Any help would be greatly appreciated
Cheers
DevlinIs this the only way to change the queue name for Soap Sender? I don't think it is possible for them to do this, as their urls are static when calling us
-
How to use Basis Authentication in Sender SOAP Adapter
We implemented one Sender SOAP Adapter and we had to implement the modified WEB.XML method to remove the security specification. We have now asked the developer to correct this situation so we can remove this modification. The Interface developer would like to use Basic Authentication. If you have an automated interface sending in a SOAP Message, how do you do Basic Authentication?
I've tried using:
http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>
When I do this, I still get the Authentication Pop-Up Window.
How does the Sending Interface either supply the ID and Password on the incoming SOAP Message or respond to the Authentication Pop-Up?
Thanks,
AnneBy Defualt the web service exposed by you will use Basic Authentication mode only.
But the way you do Basic Authentication in the web client is platfrom dependent.
This is not the way to do Basic authentication
http://host:port/XISOAPAdapter/MessageServlet?channel=:<Service>:<Channel>&sap-user=xiappluser&sap-password=<Password>&sap-language=EN&sap-client=<Client>
I am providing you a code snippet on how to Basic Authentication in Java when making the Web Service Call.
If the client is on some other platform just look for the corresponding api.
Please award points if you find this answer useful.
Code Snippet
URL url = new URL(URL);
URLConnection connection = url.openConnection();
if( connection instanceof HttpURLConnection )
((HttpURLConnection)connection).setRequestMethod("POST");
//connection.setRequestProperty("Content-Length",Integer.toString(content.length()) );
connection.setRequestProperty("Content-Type","text/xml");
connection.setDoOutput(true);
String password = User + ":" + Password ;
//Where con is a URLConnection
connection.setRequestProperty ("Authorization", "Basic " + encode(User + ":"+ Password));
connection.connect();
Encode Method
public static String encode (String source) {
BASE64Encoder enc = new sun.misc.BASE64Encoder();
return(enc.encode(source.getBytes())); -
Sender SOAP Adapter issue with webservices for authorization.
Hi All
Issue:
As we are developing a Web Service to fetch account balance from SAP(upon receiving the account no from client) and have given the wsdl file to J2EE application to call or make use of the service. But as a part of that service they expect userid/password to be entered manually from client pop-up. At this point of time, we don't want to enter userid/password manually but we want this to be hardcoded/embedded in Webservice so that there is no need of manual intervention upon calling this service.
Actual Requirement:
From Webservices to R/3-ECC6.0-IS-Banking-RFC (Synchronous Interface)
Sender: SOAP Adapter synchronous
Receiver: RFC Adapter synchronous
Note: Requesting a account number and getting response from RFC is account Balance and Date to webservice
Regards
Kiran kumar.sHi praveen,
Thanks for ur reply.What you said is exactly right but for time being i have to make the client not get the authorization(password--Username and password(pop-up)) when he invokes the WSDL into webservice for that u told that to write some hardcode in J2EE application,but i don't know that where to write and what to write.so, if possible can u give me the code and procedure.
This is the URL:
http://hcl3sap:50000/XISOAPAdapter/MessageServlet?channel=:BS_WEBSERVICE:CC_SOAPSENDER
Regards,
kiran kumar. -
Sender Soap Adapter PI 7.1
Hi All
We just installed a PI 7.1 Server. When I want to use the sender Soap adapter's Default XI Paramater they are not there. Is this because were only on SP 4? Can I still use the adapter as is or do we need to upgrade to a higher SP?
Any input will be appreciated.Hi Stephan.
Some SOAP Adapters Parameter changed in this PI Version.
You can see the SOAP characteristics in the link bellow:
http://help.sap.com/saphelp_nwpi711/helpdata/en/44/8c4756224a6fb5e10000000a155369/frameset.htm
Regards.
Bruno -
Sender Soap Adapter communication channel error
Dear Experts,
When i see Sender soap adapter status in Communication channel monitoring.I am getting the status as:
"Processing Errors in the Last 50 Minutes"
Thanx in advanceAamir,
My other interface is working fine by giving the following url:
http://kpmgvm015:8001/XISOAPAdapter/MessageServlet?channel=:KPMG_AU_ALL:RetrieveOpportunityRecord_SOAP_Sender
I am not using the propsed url.
Moreover when i try to give this url in the browser . It is asking of user id and password.
I am giving user as : PIAPPLUSER.It gives message servelet is ok.
In my communication channel monitoring the corresponsing communication channel:
RetrieveclientRecord_SOAP_Sender is in Red - Processing Errors In the Last 40 Minutes
Error meesage in Webclient:
java.security.AccessControlException: PIAPPLUSER has no permission for accessing binding com.sap.aii.af.service.cpa.Binding@d046043a -
Sender SOAP Adapter - XMLAnonymizerBean
Hi All,
I am trying to use XMLAnonymizerBean in " sender SOAP Adapter " with out much luck .
Even though I have enter the bean in the module chain , the xml o/p to the mapping program is still
continuing to have namespaces which I was trying to remove.
If some body has tried this out , could you kindly confirm if XMLAnonymizerBean could be used or
not in a Sender SOAP Adapter.
Many thanks
KLKThis blog says - "It is not possible to use this module in the sender SOAP adapter as this adapter type does not support any additional modules. "
/people/stefan.grube/blog/2007/02/02/remove-namespace-prefix-or-change-xml-encoding-with-the-xmlanonymizerbean
Regards,
Ravi -
Duplicate check not working in sender soap adapter
Hi guys,
I have an urgent problem. I am using a Sender Soap Adapter (quality of service Best Effort) to receive certain web services requests and send back synchronous responses.
I have ticked the parameters "Use Encoded Headers" and "Use Query String" to implement duplicate check.
For this reason I am expecting XI to return errors of the following type when the sender systems posts duplicates:
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="PERSIST">MSGGUID_EXISTING</SAP:Code>
<SAP:P1>D00B71AC7AEBDEB3E011E5E43C49D97B</SAP:P1>
<SAP:P2>CENTRAL</SAP:P2>
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Message ID D00B71AC7AEBDEB3E011E5E43C49D97B for pipeline CENTRAL, version already exists in system</SAP:Stack>
<SAP:Retry>N</SAP:Retry>
</SAP:Error>
However, although the duplicates go into an error status, the system is responding with the following message:
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="BPE_ADAPTER">SYSTEM_FAILURE_INTERNAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>An internal error has occurred</SAP:Stack>
<SAP:Retry>N</SAP:Retry>
</SAP:Error>
Can anybody tell me how to force XI to return a message type "MSGGUID_EXISTING" when it catches duplicates? Or if there is any configuration I can change?
Many thanks,
AldoOK, this problem is resolved.
XI seams to send the error SYSTEM_FAILURE_INTERNAL the first time it receives a duplicate message and sends the MSGGUID_EXISTING error on the following attempt to post the same message.
Cheers.
Aldo
Edited by: Aldo Lazzarini on Sep 23, 2011 6:50 AM
Edited by: Aldo Lazzarini on Sep 23, 2011 6:53 AM -
TO Get Ensuring Exactly Once Processing data from sender soap adapt
To XI Specialists
Now Im trying to get Ensuring Exactly Once Processing data from sender soap adapteter.
My plan is that send data from Receiver adapter, to Sender adapter by SOAP.
(1st interface is ABAP to Soap "BE", 2nd interface is Soap to File "EO")
Sender SOAP adapter will returun Ensuring Exactly Once Processing data.
(see SAP HELP, http://help.sap.com/saphelp_nw70/helpdata/en/69/a6fb3fea9df028e10000000a1550b0/frameset.htm )
AND I want to get Ensuring Exactly Once Processing data, I want to determine what to do in ABAP proxy.
SO I made and tested 2interface. but error occuered.
I checked the error, and Now I know what is the cause.
The cause is that Ensuring Exactly Once Processing data didnt enter the payload, at Receiver Adapter.
1st interface coulnt get the payload data, so mapping error occuered....
Please give me help,
<b>"How to get Ensuring Exactly Once Processing data From Sender SOAP ADAPTER"</b>
or
<b>"How to enter Ensuring Exactly Once Processing data into Payload of Receiver SOAP ADAPTER"</b>
and more excelent way....
our XI is version7.0 and SP10
Please teach me your wisdom!
Naoki KuriharaI seeked and I noticed that
maybe I catched the message but the message dont have payload.
so I got no_payload error.
I checked SAP note.
I noticed, no_payload error will be managed to nomal message at SP13....
my XI is SP12....
I ll seek for another way!!
Thank you! noaki -
Hi,
i need to define a web service that could be consumed by any sender system, how could i do this if i need to define the BS in the URL when i create the WSLD undel menu tool-->Define web service
http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel
in case its migth be possible, how could i identify which system consume the service, is there any system information where i could get at least the host name or the IP???
Thanks
Rodrigo>> how could i do this if i need to define the BS in the URL when i create the WSLD undel menu tool-->Define web service
http://host:port/XISOAPAdapter/MessageServlet?channel=party:service:channel in case its migth be possible
Create Webservice using Sender SOAP adapter. Go to sender agreeement, click display wsdl. Save the file . That is your wsdl and it contains all your webservice details that includes sender business system, interface, URL etc.
>>how could i identify which system consume the service, is there any system information where i could get at least the host name or the IP???
You create valid service users of PI to communicate and distribute for different consuming systems. When they invoke your webservice they have to use your login credentials. Also you can go with client authentication certifcate(SSL) so that only trusted partners with client certificate can communicate your webservice.
>>where i could get at least the host name or the IP???
You dont get those informations. You allow only trusted trading partners to consume your webservice using client authentication and certificate credentials. -
SEcurity settings for sender SOAP adapter
Hey guys
i m implemeting some security features in sender SOAP adapter by taking help frm www.help.sap.com,i have checked the message security box in sender Communication channel but in sender agreement i dont see any options for Decryt or Validate,i only see Keystore,Issuer and subject.
i m on SP9 and XI 3.0
where can i find these options of Decrypt etc?
thanx
ahmadHi,
Please see below links
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0650f56-7587-2910-7c99-e1b6ffbe4d50
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS06CoreDocs/html/a3229d73-170d-42b7-bab9-12ae5f2d0fa7.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/BTS06CoreDocs/html/f869bd82-df93-45e1-b747-b538820253fb.asp
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/121b053d-0401-0010-539f-f9295efb7bad
Document security option in webservices
And also check,
Launch Visual administrator and navigate to Server->Services->Security Provider. In 'Policy Configurations' tab page, select the component 'sap.com/com.sap.aii.af.soapadapter*XISOAPAdapter'. Then click on the tab page 'Security Roles' and select 'xi_adapter_soap_message'. You will find the groups (equivalent to roles in PFCG) to which this security role (xi_adapter_soap_message) is assigned to. Make sure you assign the PFCG role listed here to the user.
regards
Chilla..
Maybe you are looking for
-
Trying to update my iPhone 4 - "This version of iTunes is the current version."
When I click "Update" in the phone screen on iTunes, it tells me that this version of iTunes (10.6) is the current version. I tried to download 10.7 and it cannot be downloaded to my OS, apparently. Then I tried to restore my phone. It told me it was
-
Recording audio from the net ?
What are simple means to record an audio stream from the net on my PowerBook, like a podcast (not a live broadcast, not a line-input) ? Can QuickTime do it ? Thanx in advance,
-
Handle SQL Server Agent in Web Application
Hi, I have asp.net web application with SQL Server as back end. I have some SQL jobs to handle the transactions. Now the requirement is i need to handle the Agent from the front end. We can use SMO object for that. But as a newer can you guide me wh
-
dear all, I have heard this in most automobiles they yes make to order jit concept. what are the configurational changes that happen in this jit can somebody send differntn scenarios of pharma and automobile industry would be more useful
-
Problems with reports run from the MSS Launchpad
Hi, The problem I am facing is with the reports being run from the MSS Launchpad. When i click on it, I can see that certain buttons like "Selection Fields", "org Assignment" are disabled. But there in one more button "More" which is enabled and clic