on 06-03-2010 10:34 AM
Hello All,
We have successfully deployed Axis adapter SDA and message servlet shows all green.
We configured an interface( SOAP - PI(BPM) - IDOC) using Sender SOAP CC( with Transport protocol Servlet(Axis), message protocol Axis ). All other required configurations have been configured.
When we use SOAPUI tool to send message with following URL,
We get following fault message as a response in SOAPUI tool:
<faultstring>senderChannel 'ee83c3c770db3fcf9ce3729301329ea1': Catching exception calling messaging system; nested exception is:
com.sap.engine.interfaces.messaging.api.exception.ConfigException: No sender agreement configured that matches the message's header fields (sender party: "*", sender service: "Businesscomp", interface: "namespace interface", receiver party: "", receiver service: "")</faultstring>
We tried all possible options( such as clear CPA cache, delete CC and re-create ) but with no sucess.
When we changed the Sender SOAP CC with standard SOAP protocol, everything works fine. Hence, it seems that, with Axis adapter, the sender agreement could not determined.
Could anybody help with this issue.
Thanks in advance.
Kind Regards,
Prasad
I suppose that your sender channel has party '*'.
Copy the channel to party empty, that should help.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Stefen,
Thats a pefect solution!!!. There was a default * for the party while creating sender agreement. Once we re-created sender agreement without * in party, the interface works fine with Axis.
Thank you very much!!!.
However, we have now another issue. We dont see SOAP Headers( WS-Addressing, and WS-Security ) in the SOAP Response.
We only see SOAP Body in the response. As per the Axis message servlet, all these optional components were correctly deployed.
Should we need to add any modules in CC inorder to get the SOAP header in the response. We were at least assuming that, by default SOAP Header will be added into the response.
Could you please guide us on this.
Kind Regards,
Prasad.
Sorry, I should have read OSS note 1039369. Now we are able to get the WS-Signature and WS-Addressing elements in the SOAP Response message.
Now only one problem left: We see that wsa:MessageID in the SOAP Response is not same as the wsa:MessageID in SOAP Request. Our sender partner needs the MessageID in the response must be same as it in the request. And also wsa:ReplyTo is missing.
We think, that these should have been handled using parameters in Axis handlers. Unfortunately, there is no( at least we could not find any) extensive list of all possible parameters for each Axis handler.
Does anyone has the information about parameters( name and their possible values ) for each Axis handler.
Kind Regards,
Prasad.
Hi,
I assume you are using the standard AdressingHandler.
For the replyTo header, you can set Axis message context property (addressing.replyTo.URI) using one of the handlers (DyanamicConfigurationHeader or MessageContextPropertiesHandler). Which handler to user depends on where do you want to get the replyTo address.
It is tricky to set the MessageID. The FAQ note explains how to set this value using a patched addressing.jar library that provides property addressing.message.ID to set this value.
You can find the XI message ID of the request message in property request.id.
Search for these keywords in the FAQ page and you will find some examples that you can directly use.
Good luck and tell us how it goes.
Regards, Yza
Hi Prasad,
You need to have sender agreement. Make sure you are giving the right values while creating the sender agreement.
Cheers,
---Satish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Satish,
Thanks for your reply. As I mentioned, Sender agreement works fine with standard SOAP( i.e without Axis ). We just changed the adatper properties to Axis.
Do you belive the URL we use for sending message is correct one?.
We think that, either the URL might be wrong, or there is a problem with Cache. However, we could not determine what exactly going wrong.
Kind Regards,
Prasad
Hi Prasad,
You need to keep one thing in mind. Whenever you change communication channel try to create the wsdl based upon the new channel or edit the wsdl maually. So somewhere the binding seems to be not correct in your case. Please recheck once again. Also can you put your url here to see if anything is wrong and if you miss anything.
Regards,
---Satish
Hi Satish,
When we look at Sender agreement WSDL we see following:
Its quite strange that, although we changed sender CC to Axis, the location above still shows as XISOAPAdapter, should be expected to see XIAxisAdapter there?.
Could you please describe how to manually edit the wsdl. After editing this wsdl manually, how to update the sender agreement with new WSDL?. So far, we have not published any wsdl file into SR. Even without this, our interface with standard SOAP, works fine.
The URL we are using for SOAPUI tool:
Here we have following values in the url>
Sender service: SOAP_sender ( this is actually a business component )
interface name: Request_Sync_Abs
interfaceNamespace=urn:comp:application:product
Kind Regards,
Prasad.
User | Count |
---|---|
84 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.