on 03-04-2013 2:33 AM
Hi All,
scenario is Proxy to SOAP (axis framework) synchronous.
We are on PI 7.3 JAVA only version.
we had requirement to capture a field value in response message, the message is coming in soap header .
we need to capture this and pass it on to ecc.
we are using option keep xi headers in CC.
can some please share inputs on how to achieve this.
Thanks in advance.
Hello Jan,
we had requirement to capture a field value in response message, the message is coming in soap header .
we need to capture this and pass it on to ecc.
we are using option keep xi headers in CC.
can some please share inputs on how to achieve this.
At first I thought if Axis can run in no soap mode but then searched SAP Note 1039369 - FAQ XI Axis Adapter question 43. Can I extract element and attribute values from some SOAP headers? There is an example there.
Hope this helps,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Thanks for the response....
I checked the FAQ and its goo d to know that we can achive this using com.sap.aii.axis.soap.HeaderExtractionHandler
My queries regarding practically implementing this is:
we need to pass the value in a perticular field in SOAP Response to a filed in reciever.
We are not using any dynamic config in response mapping in syncronous call.
Now to achive this do we need to add some udf/dynamic config in response mapping?
if we need to add dynamic coding in response what parameters do i need to adjust within dynamic config code.?
any inputs in this areas are appreciated.
Thanks.
Hi Mark,
I had to use Axis to meet security mechanisms...i am trying to achive this by adding addional module config ExtractHandler as suggest by you in FAQ.
The point where I am struck is in response mapping can I use just Dynamic Config UDF and map it to the filed in response structure?? since it is coming in response.??
Thanks in advance.
Hi Jan,
To achieve this you have create a map in dynamic configuration. you can set the header values from response in the map and read it using UDF.
To achieve this you need to follow below steps.
In module configuration create a module key dcres.
module configuration:-
dcres handler.type java:com.sap.aii.axis.xi.XI30DynamicConfigurationHandler
dcres key.1 read urn:csda-gov-au:dynamic_variables values{}
dcres type.1 java.lang.map
dcres value.1 hevar
Now you have to read the value from header and place it in dynamic variable.
In module configuration create a module key heext.
heext handler.type java:com.sap.aii.axis.soap.HeaderExtractionHandler
heext name.1 hevar{var1}
heext namespaces ns1 http://namespace/messages
heext path.1 ns1:record/ns1:sumaryResponse/ns1:field1
you have to provide namespace and path of the field in module configuration.
Now you can use below udf to read from dynamic configuration.
DynamicConfiguration conf =(DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
String value = ResultList.SUPPRESS;
if (conf != null) {
DynamicConfigurationKey key =DynamicConfigurationKey.create(ns, "values{var1}");
value = ((String)conf.get(key));
}
return(value);
Regards,
Ranjeet.
Hi Jan,
Here you did not mentioned which value you want pass to ECC from SOAP Response header.
Any way check this and use whatever the field you need to capture from this available parameters.
Define Adapter-Specific Message Properties
The following attributes are evaluated in the XI message header:
Server URL (technical name: TServerLocation)
You can set the entire URL.
The technical names of the fields are XHeaderName1, XHeaderName2, and XHeaderName3.
The parameters are included in the HTTP request under the names specified here.
The attribute namespace for the adapter is http://sap.com/xi/XI/System/SOAP.
For More Details see this link: Configuring the Receiver SOAP Adapter
Regards,
Sreeni.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
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.