How to Capture SOAP Header in BPEL
Hi All,
I have a requirement to pass a value from SOAP Header to BPEL and has to capture the value in BPEL and manipulate the data.
In the receive activity i created a variable and assigned Header to it, but iam getting NULL value when i check the instance, this is the code i used in receive
activity.
<receive name="receiveInput" partnerLink="bpelsensor_client" portType="client:BPELSensor" operation="process" variable="inputVariable" createInstance="yes"
bpelx:inputHeaderVariable="headerID"/>
Any suggestions how to do this?
How did you define headerID?
You can also see an example here:
http://java.net/projects/oraclesoasuite11g/pages/BPEL
Arik
Similar Messages
-
How to bind soap header using jax-rpc
To Whom It May Concern:
I am using Rad7, Ibm Websphere 6.1, on Windows XP.
I created an SoapHeader first using a string and bind it using jax-ws.
It works for jax-ws but unfortunately, my work services uses jax-rpc.
Does anybody know how to bind the soap header using jax-rpc.
Any help or hint would be greatly appreciated it.
Here is my code:
import org.apache.cxf.headers.Header;
import org.apache.cxf.headers.Header.Direction;
import org.apache.cxf.helpers.DOMUtils;
import org.apache.cxf.binding.soap.SoapHeader;
import javax.xml.namespace.QName;
import java.io.StringReader;
import java.util.List;
import java.util.ArrayList;
import javax.xml.ws.BindingProvider;
@Test
public void testService() throws Exception {
try
URL wsdlURL = new URL("http://localhost:9087/abc/services/ServiceABCService");
ServiceRequestServiceService service = new ServiceRequestServiceServiceLocator();
ServiceRequestService port = service.getServiceRequestService(wsdlURL);
//How to Add Soap Header using jax-ws
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?><ABCHdrRq "
+ "xmlns=\"http://xmlns.ABCgc.net/ABC/2002/header/\" "
+ ">"
+ "<version>1.0</version><srcInfo><chType>abc</chType><chInst>0124</chInst>" +
"<appName>sSAR</appName><hostName>DW70210521</hostName><userId>fxue</userId>" +
"</srcInfo><startTimeStamp>2010-06-04T13:44:45.132</startTimeStamp><clientDt>2010-06-04T13:44:53.242</clientDt><serviceInfo><serviceName>ServiceRequestService</serviceName>" +
"<serviceFunc>addServiceRequest</serviceFunc></serviceInfo>" +
"<prevTransInfo><prevRqUID>BORS2010-06-04T13:41:10.2067f9368d1-8c5c</prevRqUID>" +
"<prevRespTimestamp>2010-06-04T13:41:10.871</prevRespTimestamp>"+
"<prevRespEndTimestamp>2010-06-04T13:41:10.902</prevRespEndTimestamp>+</prevTransInfo>"+
"</ABCHdrRq>";
SoapHeader dummyHeader1 = new SoapHeader(new QName("uri:http://xmlns.ABCgc.net/ABC/2002/header/", "ABCHdrRq"),
DOMUtils.readXml(new StringReader(xml)).getDocumentElement());
dummyHeader1.setDirection(Direction.DIRECTION_OUT);
List<Header> headers = new ArrayList<Header>();
headers.add(dummyHeader1);
((BindingProvider)port).getRequestContext().put(Header.HEADER_LIST, headers);
//How to Add Soap Header to the request using jax-ws
catch(Exception e)
System.out.println("Exception message:"+e.getMessage());
Yours,
FrustratedWell, how an attachment is processed depends on your application logic...if your application logic requires to processing attachments and verify it before processing the SOAP message, handlers could be better option.
If you need to process the attachment while processing the SOAP message, you can do it in the service implementation class.
In both the cases you need to get access to SOAPMessage object and from there get the attachments with getAttachments method. -
How to capture SOAP fault when using "Do not use SOAP envelope" parameter
Hi,
we have a synchronous RFC -> XI -> Web Service scenario. The Web Service requires some custom SOAP header elements for user authorization which forced us create the entire SOAP message in a message mapping and to set the "Do not use SOAP envelope" parameter in the receiving SOAP adapter.
In order to capture the SOAP fault message from the Web Service we have created a message interface with a fault message and also created an interface mapping with a fault message mapping.
Our problem is that the fault message is not populated when we get a SOAP fault message back from the Web Service. Is this due to the fact that we have set the "Do not use SOAP envelope" parameter?
Thanks in advance!
Stefan
Message was edited by:
Stefan NilssonHi Bhavesh,
I have exaactly same scenario. But the only difference is that the Successful payload is also not coming into PI.
The request is successfully hittng the webservice.
Please guide me on how to capture the paylod.
I am using the WSDL provided by the thirdparty but sill the message is not coming into PI. -
Calling Web Service with SOAP header from BPEL
Hi,
I am calling a web service (with header information) from BPEL. In the Invoke activity, i created a header variable to pass the header information.
But, when i test the BPEL service, invoke activity fails because the header information is not being passed.
Below is the error message (copied from clipboard).
+<messages><input><Invoke_1_getsubinfo_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters"><getsubinfoElement xmlns="http://ws/its/tabs/webservices/SingleRowWS/SingleRowWS.wsdl">+
+<pSubnoin>+
+<insubno>12345678</insubno>+
+</pSubnoin>+
+</getsubinfoElement>+
+</part></Invoke_1_getsubinfo_InputVariable></input><fault><bindingFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="summary"><summary>exception on JaxRpc invoke:+
start fault message:+
Internal Server Error (Caught exception while handling request: javax.xml.rpc.JAXRPCException: Not authenticated user)+
*:end fault message*</summary>
+</part></bindingFault></fault></messages>+
As said, no header information is visible in the Invoke activity.
Please provide help for the above issue.
-MJHello Patrick,
Thanks for the response. I am using normal assign activity to assign values to the header variable as shown below. HeadMT is the header variable which is passed in the invoke activity.
+<assign name="Assign_Header">+
+<copy>+
+<from expression="'tkl12'"/>+
+<to query="/ns1:LOGIN_INFO/ns1:USER_NAME" variable="*HeadMT*"+
part="payload"/>
+</copy>+
+<copy>+
+<from expression="'tkl123'"/>+
+<to query="/ns1:LOGIN_INFO/ns1:PASSWORD" variable="*HeadMT*"+
part="payload"/>
+</copy>+
+<copy>+
+<from expression="'TKL'"/>+
+<to query="/ns1:LOGIN_INFO/ns1:CHANNEL_ID" variable="*HeadMT*"+
part="payload"/>
+</copy>+
+</assign>+
The expected input by the web service is as below with the header information highlighted.
+<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://ws/webservices/RowWS/RowWS.wsdl">+
+*<soap:Header>*+
+*<ns1:LOGIN_INFO>*+
+*<ns1:USERNAME>tkl12</ns1:USERNAME>*+
+*<ns1:PASSWORD>tkl123</ns1:PASSWORD>*+
+*<ns1:CHANNEL_ID>TKL</ns1:CHANNEL_ID>*+
+*</ns1:LOGIN_INFO>*+
+*</soap:Header>*+
+<soap:Body>+
+<ns1:substatusElement>+
+<ns1:pInparam>+
+<ns1:insubno>7674988</ns1:insubno>+
+</ns1:pInparam>+
+</ns1:substatusElement>+
+</soap:Body>+
+</soap:Envelope>+ -
Hi Gurus,
i have a simple questions to you (hopefully).
At the moment i am working with SOAP AXIS Receiver Adapter because i need to add <wsse> Tags to my SOAP Header. (according to blog: /people/pravesh.puria/blog/2009/08/26/adding-usernametoken-timestamp-in-soap-adapter-using-axis-framework)
I get no error for this configuration but i am wondering where i can have a look at the SOAP Header that will be transfered to the target url.
when i go to CommChan-Monitoring and have a look into Message-Details-->Message-Content i only can view "SOAP Document" this looks to me like the internal SOAP Envelope, but this is not going out the target url right? And i also can have a look on the payload, but there is no SOAP Header at all.
thank you for your help
Best Regards
UdoNo, this XML is the whole XI message and it is not sent by the SOAP (axis) adapter. If you want to see exactly what is sent, try checking it with the TCPGateway tool as advised on the SOAP FAQ note
[Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter|https://websmp230.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856597]
Under question "Q: How can I trace the whole message?". Otherwise, on SXMB_MONI, try selecting the PAYLOAD item on the left menu and, on the payload on the right, right-click and select "VIEW SOURCE". -
How to view SOAP header generated from XML Gateway ?
Hi All,
I am using XML Gateway integrate EBS and trading partner using web services.
Currently I am having problem with including wsse authorization information in the outbound message of EBS.
I am able to view the payload in the transaction monitor but not able to check the SOAP header of message.
How to view the current SOAP header generated by EBS and/or include the wsse information which are required by recipient trading partners ?
Thanks in advance for your help.
Regards,
RamNo, this XML is the whole XI message and it is not sent by the SOAP (axis) adapter. If you want to see exactly what is sent, try checking it with the TCPGateway tool as advised on the SOAP FAQ note
[Note 856597 - FAQ: XI 3.0 / PI 7.0 / PI 7.1 SOAP Adapter|https://websmp230.sap-ag.de/sap(bD1wdCZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=856597]
Under question "Q: How can I trace the whole message?". Otherwise, on SXMB_MONI, try selecting the PAYLOAD item on the left menu and, on the payload on the right, right-click and select "VIEW SOURCE". -
Is there a way to get SOAP header in bpel?
Hi,
My web service returns a SessionID contained in the SOAP header. In Oracle PM, is there a way I could extract the SOAP header, or manipulate the SOAP header when invoking the web services? Any information would be appreciated.
Thanks!
FengEdwin,
I was trying your second approach, which utilizes the bpel extension to hold the header info, but with no luck.
The provided sample (Salesforce Flow) works well, and I can see the SOAP header using TCPMonitor. Then I created a simple echo service (using bpel) to replace the Salesforce.com Enterprise Web Services, and invoke the echo service from a bpel process with the same bpel extension. However, no header was sent out.
I guess there are something I was missing. Attached please find the wsdl file of the echo service, as well as the bpel files. Could you give me some idea what I did wrong? Or do you have any documentation about the bpel extensions?
Thanks a lot for the good support!
Feng
echo.wsdl
<?xml version="1.0"?>
<definitions name="echo"
targetNamespace="http://acm.org/samples"
xmlns:tns="http://acm.org/samples"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:plnk="http://schemas.xmlsoap.org/ws/2003/05/partner-link/"
xmlns="http://schemas.xmlsoap.org/wsdl/"
>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
TYPE DEFINITION - List of types participating in this BPEL process
The BPEL Designer will generate default request and response types
but you can define or import any XML Schema type and use them as part
of the message types.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<types>
<schema attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://acm.org/samples"
xmlns="http://www.w3.org/2001/XMLSchema">
<element name="echoRequest">
<complexType>
<sequence>
<element name="input" type="string"/>
</sequence>
</complexType>
</element>
<element name="echoResponse">
<complexType>
<sequence>
<element name="result" type="string"/>
</sequence>
</complexType>
</element>
<!-- Header Elements -->
<element name="SessionHeader">
<complexType>
<sequence>
<element name="sessionId" type="xsd:string"/>
<element name="InvokeID" type="xsd:string"/>
</sequence>
</complexType>
</element>
<element name="QueryOptions">
<complexType>
<sequence>
<element name="batchSize" type="xsd:int" />
</sequence>
</complexType>
</element>
<element name="SaveOptions">
<complexType>
<sequence>
<element name="autoAssign" type="xsd:boolean"/>
</sequence>
</complexType>
</element>
</schema>
</types>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
MESSAGE TYPE DEFINITION - Definition of the message types used as
part of the port type defintions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<message name="echoRequestMessage">
<part name="payload" element="tns:echoRequest"/>
</message>
<message name="echoResponseMessage">
<part name="payload" element="tns:echoResponse"/>
</message>
<!-- Header Message -->
<message name="Header">
<part element="tns:SessionHeader" name="SessionHeader"/>
<part element="tns:SaveOptions" name="SaveOptions"/>
<part element="tns:QueryOptions" name="QueryOptions"/>
</message>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PORT TYPE DEFINITION - A port type groups a set of operations into
a logical service unit.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<!-- portType implemented by the echo BPEL process -->
<portType name="echo">
<operation name="process">
<input message="tns:echoRequestMessage" />
<output message="tns:echoResponseMessage"/>
</operation>
</portType>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PARTNER LINK TYPE DEFINITION
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<plnk:partnerLinkType name="echo">
<plnk:role name="echoProvider">
<plnk:portType name="tns:echo"/>
</plnk:role>
</plnk:partnerLinkType>
</definitions>
echo.bpel
<!-- echo BPEL Process [Generated by the Oracle BPEL Designer] -->
<process name="echo" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension">
<!-- ================================================================= -->
<!-- PARTNERLINKS -->
<!-- List of services participating in this BPEL process -->
<!-- ================================================================= -->
<partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<partnerLink name="client" partnerLinkType="tns:echo" myRole="echoProvider"/>
</partnerLinks>
<!-- ================================================================= -->
<!-- VARIABLES -->
<!-- List of messages and XML documents used within this BPEL process -->
<!-- ================================================================= -->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="input" messageType="tns:echoRequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<variable name="output" messageType="tns:echoResponseMessage"/>
</variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<sequence name="main">
<!-- Receive input from requester.
Note: This maps to operation defined in echo.wsdl
-->
<receive name="receiveInput" partnerLink="client" portType="tns:echo" operation="process" variable="input" createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<assign>
<copy>
<from expression="concat('echo: ', bpws:getVariableData("input", "payload", "/tns:echoRequest/tns:input"))">
</from>
<to variable="output" part="payload" query="/tns:echoResponse/tns:result"/>
</copy>
</assign>
<reply name="replyOutput" partnerLink="client" portType="tns:echo" operation="process" variable="output"/>
</sequence>
</process>
bpel process that invokes the echo service
<!-- testHeader6 BPEL Process [Generated by the Oracle BPEL Designer] -->
<process name="testHeader6" targetNamespace="http://acm.org/samples" suppressJoinFailure="yes" xmlns:tns="http://acm.org/samples" xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/" xmlns:bpelx="http://schemas.oracle.com/bpel/extension" xmlns:ora="http://schemas.oracle.com/xpath/extension" xmlns:cx="http://schemas.collaxa.com/xpath/extension">
<!-- ================================================================= -->
<!-- PARTNERLINKS -->
<!-- List of services participating in this BPEL process -->
<!-- ================================================================= -->
<partnerLinks>
<!-- The 'client' role represents the requester of this service. -->
<partnerLink name="client" partnerLinkType="tns:testHeader6" myRole="testHeader6Provider"/>
<partnerLink name="echo" partnerLinkType="tns:echo" partnerRole="echoProvider"/>
</partnerLinks>
<!-- ================================================================= -->
<!-- VARIABLES -->
<!-- List of messages and XML documents used within this BPEL process -->
<!-- ================================================================= -->
<variables>
<!-- Reference to the message passed as input during initiation -->
<variable name="input" messageType="tns:testHeader6RequestMessage"/>
<!--
Reference to the message that will be returned to the requester
-->
<variable name="output" messageType="tns:testHeader6ResponseMessage"/>
<variable messageType="tns:echoRequestMessage" name="i2"/>
<variable messageType="tns:echoResponseMessage" name="o2"/>
<variable name="header" messageType="tns:Header"/>
</variables>
<!-- ================================================================= -->
<!-- ORCHESTRATION LOGIC -->
<!-- Set of activities coordinating the flow of messages across the -->
<!-- services integrated within this business process -->
<!-- ================================================================= -->
<sequence name="main">
<!-- Receive input from requester.
Note: This maps to operation defined in testHeader6.wsdl
-->
<receive name="receiveInput" partnerLink="client" portType="tns:testHeader6" operation="process" variable="input" createInstance="yes"/>
<!-- Generate reply to synchronous request -->
<assign>
<copy>
<from expression="12345">
</from>
<to variable="i2" part="payload" query="/tns:echoRequest/tns:input"/>
</copy>
<copy>
<from expression="1111">
</from>
<to variable="header" part="SessionHeader" query="/tns:SessionHeader/tns:sessionId"/>
</copy>
</assign>
<invoke partnerLink="echo" portType="tns:echo" operation="process" inputVariable="i2" bpelx:inputHeaderVariable="header" outputVariable="o2"/>
<reply name="replyOutput" partnerLink="client" portType="tns:testHeader6" operation="process" variable="output"/>
</sequence>
</process> -
How to generate soap header using java code
Hi,
I need to generate the following soap header using java DOM.
Can you send me some java code snippet to do so?
<soapenv:Header>
<api:RequesterCredentials soapenv:mustUnderstand="0" xmlns:api="urn:ThinkPod:api:ThinkPodAPI" xmlns:ebl="urn:ThinkPod:apis:eBLBaseComponents">
<ebl:ThinkPodAuthToken>YourToken</ebl:ThinkPodAuthToken>
<ebl:Credentials>
<ebl:DevId>YourDevId</ebl:DevId>
<ebl:AppId>YourAppId</ebl:AppId>
<ebl:AuthCert>YourAuthCert</ebl:AuthCert>
</ebl:Credentials>
</api:RequesterCredentials>
</soapenv:Header>You want to generate that on a mobile device or how is that related to CLDC and MIDP?
-
How to create SOAP Header elements using SAAJ??
I am facing a problem when adding header elements under SOAP Header
using SAAJ(api).
I want to create a structure as following:
I get a empty SOAP header obejct by writing code--> SOAPHeader header
= envelope.getHeader();
But not able to add SOAP header elements as specified in example
below. I tried but its giving me error as
"HeaderElements must be namespace qualified"
CAN ANYBODY TELL ME THAT HOW TO ADD HEADER ELEMENTS USING SAAJ??
<SOAP:Header>
<AccountNumber>123</AccountNumber>
<AuthorisationCode>test111</AuthorisationCode>
<Source>abc</Source>
<Market>01</Market>
</SOAP:Header>I'm including this comment from some code I've just written after wrestling with this for hours (I've actually left it on another post as well). The upshot of it all is that you have to include a namespace URI when creating a header in SAAJ:
NOTE: SOAP 1.1 requires that all header entries be namespace-qualified to
namespace URI's. The SAAJ 1.2 implementation requires a Name object with
the namespace URI to make this happen even if the prefix used is already
visible by being declared higher in the document (e.g. in the Envelope).
However, the namespace URI is not present in the serialized header element
as long as it was declared higher in the document. In order to create a
header element without a prefix (to conform to a web service definition
that doesn't use a prefix in its headers, for example), leave the prefix
null in the addHeaderElement() method.
For example, with a SOAPHeader 'hdr':
//first create the name
Name name = env.createName("my-local-name", null, "my-URI");
//then create the header element
SOAPHeaderElement he = hdr.addHeaderElement(name);
This would result in an XML element that looked like this:
<my-local-name xmlns="my-URI"/>
This would allow SAAJ developers to create a header for a service that
only expected a local name in its header elements (as many do!). As long
as the service doesn't choke on the attribute (validation! evil!), this
should work.
Rob Kemmer
01/12/2005
-
How to access SOAP header without using SOAP message handler
I have a requirement to retrieve SOAP header information within each web services operation. So I can't use SOAP message handler. Is there any way to do that? BTW, I am not using workshop.
Thanks.Howeve how can I put data into soap header in UDF? DynamicConfiguration won't work for soap header, right?
Which data do you want ot put into the Header section.
ASMA or Dynamic Configuration is used to read/ put the details from/ into the header elements.....
Refer: http://help.sap.com/saphelp_nw04/helpdata/en/43/0a7d1be4e622f3e10000000a1553f7/frameset.htm
From the help section:
This information is not located in the payload of the message, but in additional message header fields.
Regards,
Abhishek. -
How to generate soap header elemtn ds:X509Certificate in SAOP message?
Hello all,
could you please help me to solve the following issue?
I need to generate a following security header on weblogic 10.3:
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>MIICtTC.....</X509Certificate>
</X509Data>
</ds:KeyInfo>
</ds:Signature>
If I use a standard Weblogic WS-Policy file (e.g., Wssp1.2-2007-Wss1.0-X509-Basic256.xml), the following header is created (please ignore changes in namespaces):
<dsig:KeyInfo>
<wsse:SecurityTokenReference
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
xmlns:wsse11="http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsse11:TokenType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="str_vUsIPkGU5I26BGcy">
<wsse:KeyIdentifier
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/oasis-wss-soap-message-security-1.1#ThumbprintSHA1">zgXqyWX5atWpNj5EhRsF7viA3uU=</wsse:KeyIdentifier>
</wsse:SecurityTokenReference>
</dsig:KeyInfo>
The header in this case point to <wsse:BinarySecurityToken... which contains the certificate but it is not what I need. I need the certificate to be included directly in Keyinfo element.
Do you know how to achieve it, if I should modify a ws-policy file (and how in this case) or if I can somehow tell Weblogic how the result SOAP message should look like? Or will I have to implement this by myself using some existing java libraries and bypass Weblogic security?
Thanks in advance
JaroslavEric,
Could you please recommand a good document on how to work with routing, stage, action ...?http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/consolehelp/proxyactions.html#wp1265888
http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/consolehelp/proxyactions.html#wp1319158
http://www.orafmwschool.com/oracle-service-bus-routing-and-transformation/
It is considered good etiquette to reward answerers with points (as "helpful" - 5 pts - or "correct" - 10pts).
Hope it helps !!
Regards,
Abhinav Gupta -
In Receiver Mail Adapter ,how to ignore SOAP Header attachment
HI Folks,
Am using Receiver Mail Adapter and am getting 2 attachments.
1. one is Soap header which contains Control records
2. payload
I want only Payload as attachment and need to ignore SOAP Header(AT00001.xml).
The configuration is as below:-Trasport protocol : SMTP
Message Protocol: XIALL
Please provide Inputs.
Thanks & Regards
Ashok ReddyHi Gagandeep,
Scenario: File------>mail( Bypass scenario)
i had posted file in FTP and am getting attachment properly but aditionally am getting ATT00001.xml as SoapHeader.this i need to ignore.
PFB Module Parametrs i used:
localejbs/AF_Modules/MessageTransformBean LocalEnterpriseBean transform
Modulekey Parameterattribute value
transform Transform.ContentDisposition attachment;filename=”Pocr_860.txt”
transform Tansform.ContentType text/plain
Regards
Ashok -
How to set SOAP Header When Calling Business Service (OSB) Using Split-Join
Hi,
We need to call WSDL based webservice which requires heading static content for successful call. As we need to call the same service parallely, hence we want to use Split-Join.
Looked at couple of forum links, noted that we can't play with headers while working with Split-Join.
For curiosity, just want to check any option other than using proxy as mediator in setting header information.
Regards
Venkata MadhuVenkata,
You still have the option, if you hv n't tried this one.
To enable this capability, you must declare the header parts along with the body parts in a single request/response message in the Split-Join WSDL and in the WSDL of the proxy or business services invoked by the Split-Join. With the message parts declared in the WSDLs, SOAP header content is available to Split-Joins in the request/response message variables.
Following is an example of the message and binding definitions in the WSDL.
Message
<wsdl:message name="retrieveCustomerOverviewByIdRequestMessage">
<wsdl:part name="retrieveCustomerOverviewByIdRequest"
element="co:retrieveCustomerOverviewByIdRequest"/>
*<wsdl:part name="serviceContext" element="sc:serviceContext"/>*
</wsdl:message>
Binding
<wsdl:input>
<soap:body use="literal" parts="retrieveCustomerOverviewByIdRequest"/>
*<soap:header message="tns:retrieveCustomerOverviewByIdRequestMessage"part="serviceContext" use="literal"/>*
</wsdl:input>
hope it helps !!
Regards,
Abhinav -
How to add SOAP header element?
Hi,
Scenario : RFC --> SOAP
I would like to add parameters into the soap header :
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header>
*<OPER_REF>SAPPI</OPER_REF>*
</SOAP:Header>
<SOAP:Body>
<ns2:createSapProductRequest xmlns:ns2="http://www.mycompnay.com/projectname">
<country>FR</country>
<division>1300</division>
<productStage/>
</ns2:createSapProductRequest>
</SOAP:Body>
</SOAP:Envelope>
So I made a Java Mapping to reach my goal so my message looks like :
<ns0:Messages
xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
<ns0:Message1>
<SOAP:Envelope
xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Header>
<OPER_REF>SAPPI</OPER_REF>
</SOAP:Header>
<SOAP:Body>
<ns2:createSapProductRequest
xmlns:ns2="http://www.mycompany.com/myproject">
<country>FR</country>
<division>1300</division>
<productStage/>
</ns2:createSapProductRequest>
</SOAP:Body>
</SOAP:Envelope>
</ns0:Message1>
</ns0:Messages>
But when I launch the process here is what PI do :
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Header>
<OPER_REF xmlns="">SAPPI</OPER_REF>
</soapenv:Header>
<soapenv:Body>
<ns2:createSapProductRequest xmlns="http://www.mycompnay.com/myprojecty" xmlns:ns2="http://www.mycompnay.com/myprojecty">
<country xmlns="">FR</country>
<division xmlns="">1300</division>
<productStage xmlns=""></productStage>
</ns2:createSapProductRequest>
</soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
this request has been found thanks to the tool TCPGW. Has you can see there is 2 <soapenv:Body>
What is wrong ?
regardsI was right, the solution is :
My problem was the adapter. It was miss used.
_The configuration is : _
HTTP without SOAP Envelope and in the Module :
Name : localejbs/AF_Modules/MessageTransformBean
Type : L
Key : Plain2XML
_Module's Configuration : _
Plain2XML -> Transform.ContentType -> text/xml;charset=utf-8
All the XML messages was well formed even with the strange xmlns attributes.
Regards -
How to pass soap header variable for invoking siebel service in BPEL
Hi,
I am invoking siebel service in soa composite. siebel service have header variables username/password and session type. I have created global variable (message type) in BPEL anddeclare same in messages port in siebel wsdl. after that I passed the username/password and session type as hard coded in assign activity. I have deployed and tested this but, I have an exception like javax.xml.ws.soap.SOAPFaultException: Error Code: 10944642 Error Message: Error: Inbound SOAP Message - Session Token is missing or invalid or has expired
Can you please help on this..Hi,
check this thread
http://help.sap.com/saphelp_nw04/helpdata/en/71/bcf3bf2ed7e142a5011b43c288f08c/content.htm
HTTP Header parameters in iView.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes/bc-jas/~form/handler
May help you
Regards,
RK
Maybe you are looking for
-
Error message in windows vista home premium
I was installing a driver package...from microsoft corporation when this window showed up. (some folders cannot be accepted because "skip system and application folders" option enabled} I can't find any information on the net or microsoft on How to f
-
My macbook pro is probably only 2 months old and there is a buzzing/grinding noise coming from the left side of the laptop every time I open it. It may buzz 5 times in a span of 30 seconds then not make the noise the remaining time that it is open.
-
How Can I Reinstall OSX Without Messing Up Bootcamp?
I have my iMac harddrive partitioned with a Windows and Mountain Lion drive, and the M.L partition has begun to slow down and it's also got quite cluttered and so I want to do a fresh install. How do I do this without messing up the Windows drive bec
-
No tables listed when using a proxy connection in SQL Developer
Hello, I'm trying to use a connection in SQL developer that uses the proxy connection to connect to another users tables. In the SQL worksheet area I can access the other users tables with no problems. And using SELECT COUNT(*) FROM USER_TABLES i get
-
Interpreting the Check Effective Rights Category Permission - Project Grid
I am seeking clarification - I was advised that a user could not access projects so I checked their Effective Rights and noticed a RED cross against the Project Heading at the top of the list of rights for the Category Permission - Project when I sel