How to retrieve MQMD Header in OSB Message Flow Pipeline
Hi ,
My Proxy Service is reading a non-xml message from MQ-Queue . The format of the message can be different , which is recognized by a MQMD header : applicationType . Putting application populates this header .
I want to get the value of this MQMD header , in message flow ,to decide which MFL file needs to be applied . But the problem is that "Transport Headers" Action header gives only option to add new headers , not to retrieve the existing ones . Please help me.
You can access the MQ transport headers in the assign/replace actions using the relative xpath of the $inbound variable. This is available for any transport.
Please find a snapshot @ https://dl.dropboxusercontent.com/u/19901533/access_inbound_mqheaders.JPG
Also ensure that you configure the Get All Headers property+ to yes on the Transport Configuration of your proxy.
Thanks,
Patrick
Similar Messages
-
How to do Async call in OSB message flow
I am calling a service from OSB layer synchronously and when this service gives a response, I am forming another request with this response and storing it in a variable now I want to call another service asynchronously by using this variable. Service call out is not supporting one way call.
Please suggest a suitable way to do this.Use publish action. It is designed fire and forget type of use-cases
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/userguide/modelingmessageflow.html
Manoj -
How to convert XML to Binary in OSB Message flow
Dear All,
Can you please help me in converting XML to Binary in OSB Message flow.
Please help.
Thanks,ah ok, then you have to apply a transformation from XML to some fixed length format, EDI style
probably you have 2 options: the traditional MFL
http://docs.oracle.com/cd/E13159_01/osb/docs10gr3/consolehelp/mfls.html
or the (probably) more supported nXSD with a JCA adapter
http://docs.oracle.com/cd/E23943_01/integration.1111/e10231/nfb.htm
I will let you digest this info and then we can continue.
There are a number of threads in this forum on whether one technology is better than the other (as usual, google can assist you) -
Functionality of IF in OSB message flow
Hi Team,
am just confused about the functionality of IF in OSB message flow, either in a proxy or in a split-join.
for example consider the following scenarios in if-then stage,
1. I write the condition as status="yes", then some process will be done.
2. but what if I write just status? what can be the functionality of IF here?
Please suggest the needful thanks in advance.
-Pruthvi Raj.but what if I write just status? what can be the functionality of IF here?
Then the $status variable is evaluated. If it is not an empty sequence (), it is considered true (AKA exists).
In other words, if there is anything in the $status variable, it is true. Unless it is a boolean false, of course, but all variables in OSB are strings, so that is not going to happen.
Please note that Split-Join AKA Flow is a different codebase. Its variables are typed (vs strings in OSB), and hence if will behave differently for false value.
Vlad @ genericparallel.com -
WS addressing inside OSB Message Flow
Hi There,
We are trying to work with the ws-addressing structure inside the Message Flow of a Proxy Service, but i don't know how to define in the wsdl to see the structure of the ws-addresing in the Header, i need to see it to obtain some values in the "Assign" task of a Message Flow.
Can you help me in this issue?
Regards
Yuriws-addressing is supported in conjunction with WS transport.You should attach a required policy
http://download.oracle.com/docs/cd/E13159_01/osb/docs10gr3/security/ws_policy.html
Manoj -
Replacing default namespace in OSB message flow
I'm in the process of setting up a simple OSB proxy and could use some help figuring out how to change a default namespace in the response from the business service.
The proxy and business service use different namespaces which we'll call "http://foo.com/namespace/proxy" and "http://foo.com/namespace/business". In my routing request message flow, the contents of $body look like this and I'm able to use a Rename action with XQuery expression "./sof:*" to change "http://foo.com/namespace/proxy" to "http://foo.com/namespace/business":
<sof:Execute xmlns:sof="http://foo.com/namespace/proxy">
<sof:adminName>MyAdaptor</sof:adminName>
<sof:request>
[escaped payload omitted]
</sof:request>
</sof:Execute>
This works fine, but in the response message flow, I need to revert the namespace and am having difficulty because the response uses a default namespace instead of using a prefix:
<ExecuteResponse xmlns="http://foo.com/namespace/business">
<ExecuteResult>
[escaped payload omitted]
</ExecuteResult>
</ExecuteResponse>
If I define a prefix P2L in the expression editor to correspond to "http://foo.com/namespace/business", I'm able to reference the ExecuteResponse element as "./P2L:ExecuteResponse", but then I get stuck.
If I try use a Rename action to change the namespace for "./P2L:*", only the ExecuteResponse element is renamed to <sof:ExecutResponse xmlns:sof="http://foo.com/namespace/proxy">. Upstream in the calling application, there's an XML stream reader exception because (I assume) ExecuteResult is not found and parsed.
I also tried using a Replace action against "./P2L:ExecuteResponse/@xmlns" to replace its contents with "http://foo.com/namespace/proxy". I also tried "./P2L:ExecuteResponse/@P2L:xmlns". Neither worked.
Can anyone tell me what I'm doing wrong, or suggest a different approach? Assume that changing the calling application or business service is not an option.
Thanks!>
If I define a prefix P2L in the expression editor to correspond to "http://foo.com/namespace/business", I'm able to reference the ExecuteResponse element as "./P2L:ExecuteResponse", but then I get stuck.
If I try use a Rename action to change the namespace for "./P2L:*", only the ExecuteResponse element is renamed to <sof:ExecutResponse xmlns:sof="http://foo.com/namespace/proxy">. Upstream in the calling application, there's an XML stream reader exception because (I assume) ExecuteResult is not found and parsed.
>
You pattern "./P2L:\*" matches just one element so it's ok that the payload's namespace wasn't touched. If you want to rename namespace for all elements try "//P2L:*". However, I'm not sure whether this is what you want. Try do describe what you do, what you want and what you get instead.
>
I also tried using a Replace action against "./P2L:ExecuteResponse/@xmlns" to replace its contents with "http://foo.com/namespace/proxy". I also tried "./P2L:ExecuteResponse/@P2L:xmlns". Neither worked.
>
I think it's not a good approach to replace content of xmlns as this attribute is not a common xml attribute. -
Adding alert activity in OSB message flow urgent
hi,
i added an alert activity in my OSB proj message flow to monitor the process . after deploying the proj in console, i gave inputs. but i am not able to see the alert in operations>dashboard>pipeline alerts . no alert has been written in dashboard.
i have mentioned the alert destination, for alert logging option i have selected yes. can anyone pls hlep he in this issue.
thanksDid you enable Pipeline Alerts in the Operational Settings tab of the Proxy? If yes, also select the appropriate level based on the Alert level you had set within the message flow.
Also check the in the SB Console > Operations > Global Settings , that the Enable Pipeline Alerting is selected.
Thanks,
Patrick -
How to retrieve the header texts for a contract
HI,
i think we need to use the FM read_text to get the header texts for a contract but dont know how to use the FM like what all the parameters are passed to that to get the header texts of a contract(va43).
any help is appreciated with points.
thanks
prasadHi,
Pls refer this code,
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = '0001'
language = sy-langu
name = v_textid
object = 'KNMT'
IMPORTING
header = t_header
TABLES
lines = t_lines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc EQ 0.
LOOP AT t_lines.
CONCATENATE w_arktx t_lines-tdline INTO w_arktx
SEPARATED BY space.
ENDLOOP.
ENDIF.
IF w_arktx NE space.
MOVE w_arktx+1(1583) TO t_lips-arktx.
ELSEIF w_arktx EQ space.
CLEAR w_text_name.
CLEAR v_textid.
wa_lips-matnr = t_lips-matnr.
wa_lips-vkorg = t_likp-vkorg.
wa_lips-vtweg = t_lips-vtweg.
w_text_name = wa_lips.
CLEAR w_arktx.
Retrieval of Sales Text
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = '0001'
language = sy-langu
name = w_text_name
object = 'MVKE'
IMPORTING
header = t_header
TABLES
lines = t_lines
EXCEPTIONS
id = 1
language = 2
name = 3
not_found = 4
object = 5
reference_check = 6
wrong_access_to_archive = 7
OTHERS = 8.
IF sy-subrc EQ 0.
LOOP AT t_lines.
CONCATENATE w_arktx t_lines-tdline INTO w_arktx
SEPARATED BY space.
ENDLOOP.
ENDIF.
IF w_arktx NE space.
MOVE w_arktx+1(1583) TO t_lips-arktx.
ELSE.
REgards
srinivas -
How can I remove header in vacation message?
Vacation message includes header and text in message body. I need that vacation message doesn't include header in message body. How can I setup it?
Thanks.From the admin guide:
http://docs.sun.com/source/817-6266/users.html
scroll down to the autoreply part:
To Configure Auto-Reply Settings
The auto-reply feature of Messaging Server lets you specify an automatic response to incoming mail for a user. You can specify two different auto-reply modes: vacation mode and auto-reply mode.
The Delegated Administrator for Messaging also provides an end-user HTML interface through which users can themselves enable and configure auto-reply settings. The Console interface and the Delegated Administrator interface both manipulate the same directory attributes; when opened, each shows the current settings, whether they were set by the administrator or by the user.
Note
The Delegated Administrator for Messaging only supports Sun Java System LDAP Schema v. 1, not v.2
To enable an auto-reply service for a user:
1. In Console, access the Create User or Edit Entry window, as described in To Access Mail Users.
2. Click the Mail tab.
3. Click the Auto-Reply tab.
4. Select one of the auto-reply modes:
Off: Disables auto-reply for this user.
Vacation: The first message received by this user from a given sender generates an automatic response; subsequent messages from that sender do not generate a response until the automatic reply time-out is reached. When the time-out is reached, a new message is sent, once, until the next time-out is reached, and so on. If you select this mode, you use the Vacation start/end date options and enter a reply message in the Reply text field.
5. If you selected vacation mode, supply dates and times to determine when the auto-reply message should start and end:
* Check the Vacation start/end date checkbox.
* Click the Edit buttons for Start and End then use the calendar that displays to specify a date and time.
6. Specify an automatic reply time-out value in hours or days.
7. If you selected vacation mode, type an auto-reply subject line, then type a reply message to be returned to the sender.
You can type a reply message for internal senders and a reply message for external senders. If you type a reply only for internal senders, only senders within your domain will receive an automatic reply.
You can create one message in each of several available languages that you select with the drop-down list located above the message text area.
8. Click OK at the bottom of the Edit Entry window if you have finished making changes to this user�s mail information. Otherwise, click other tabs to continue making changes. -
How to retrieve mail attachments from deleted messages?
I've erased by accident some emails with attachments. I can recover the messages without any problem, but the attachments appear to be only empty files 0 kb.
Anyone can help?nevermind.
-
How to retrieve main message without Headers
Hi,
I am doing email application. In that, I can send mail successfully
with encrypt format.
but my problem is when i want to decrypt that mail while reading
it gives me error : unknown block type
So plz can anyone tell me how to retrieve the main text(encrypted) message without header.
plz tell me how to do that
regards
ShilpaYes a BPM is required. The scenario is as follows:
Receive IDOC from R/3
Transformation using JAVA class mapping program
Switch statement evaluating target structure from JAVA class
If supporting data required in other system Transformation using another JAVA class
If supporting data required but not available - end process
If no supporting data required continue
Switch statement to route output document
Evaluate Target Structure of JAVA class 1 to determine the type of output
. If email Transformation step to form email for email adapter
If Industry Standard output - Transformation step that uses another JAVA class
Evaluate output from JAVA class 1 to determine vendor
route to appropriate vendor through JAVA class 3 - this module takes the IDOC as input and outputs the industry standard document that will be routed to customer
Send Step send document or email
Within each of our JAVA mapping programs we do additional processing by updating the database and writing to log files. Since there is a significant amount of work being done in the JAVA modules we have the "create new instance" checked in the transformation steps that are using JAVA mapping programs. Eventually this will be unchecked but for now we need it for development. We want to capture the message id of the outbound Industry standard document that is being routed to the customers. -
Reading MQRHF2 Header from MQ message.
Hi
I am getting MQ messages from an application using IBM Message Broker.
My requirement is to read the MQRFH2 Header from MQ message.
I didnt find any class in com.ibm.mq.jar file. I found the functionality in JMS but I am not supposed to use it.
How can I read header from MQ message?
Can someone please help me in overcoming this problem.
Thanks in advance.Ya I have already gone through that but my problem is I am not supposed to use JMS Message.
I must use MQ Message that is coming from IBM Message Broker.
But MQMessage class doesnt contain any method to get or set MQRFH2 header. There are methods to get MQMD headers.
Can you please suggest me the approach which I should follow.
Thanks and regards, -
SOAPAction header in OSB..
Hi,
I have a .Net web service and it uses SOAPAction http header to determine invoking operations. When i use the WSDL in SOAPUI, it passes the SOAPAction header and able to invoke successfully but when i include the WSDL as a business service and configure with proxy service i am not able to call the proxy service. The .net service provider is throwing error. Then i included the SOAPAction header using transport header in the message flow and hard coded with the value in WSDL for before calling the service. From the service bus console, i could see the SOAPAction header being set in the invocation trace. But still i couldn't invoke the .net web service.
When i invoke the business service which OSB should act as a pure web service client, i am getting the below error. But there is no issue with SOAPUI.
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>
System.Web.Services.Protocols.SoapException: Server did not recognize the value of HTTP Header SOAPAction: http://tempuri.org/RetrieveUENDetailsByName.
at System.Web.Services.Protocols.Soap11ServerProtocolHelper.RouteRequest()
at System.Web.Services.Protocols.SoapServerProtocol.RouteRequest(SoapServerMessage message)
at System.Web.Services.Protocols.SoapServerProtocol.Initialize()
at System.Web.Services.Protocols.ServerProtocol.SetContext(Type type, HttpContext context, HttpRequest request, HttpResponse response)
at System.Web.Services.Protocols.ServerProtocolFactory.Create(Type type, HttpContext context, HttpRequest request, HttpResponse response, Boolean& abortProcessing)
</faultstring>
<detail/>
</soap:Fault>
Does any one has encountered such an issue?
Thanks,
Kuppusamy.V.,
Edited by: Ichiban_indian on Jun 18, 2010 6:15 PM
Edited by: Ichiban_indian on Jun 18, 2010 6:32 PMYou can access the MQ transport headers in the assign/replace actions using the relative xpath of the $inbound variable. This is available for any transport.
Please find a snapshot @ https://dl.dropboxusercontent.com/u/19901533/access_inbound_mqheaders.JPG
Also ensure that you configure the Get All Headers property+ to yes on the Transport Configuration of your proxy.
Thanks,
Patrick -
Attaching Header to SOAP Message
Hi Guys,
Can anybody tell me how to attach the Header to the message body in case of SOAP messages?
My SOAP Message is as follows( in XML format):
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:p1="http://sup/bpmscenarios">
<soap:Body>
<p1:mt_source_SOAP>
<row>
<EmpNo>10</EmpNo>
</row>
</p1:mt_source_SOAP>
</soap:Body>
</soap:Envelope>
And SOAP action is :
http://sap.com/xi/WebService/soap1.1
Regards,
Supriya.Hi,
My client is Altova XML Spy, is sending the message without header.
So, at PI end message is getting failed.
I want to send the message by Altova only, so want to modify the message by adding header to it.
But I am not able to understand how to add header.
Regards,
Supriya. -
Heading of the message (cabeçalho da mensagem)
How to catch the heading of the message?
Como pegar o cabeçalho da mensagem ?
MAC Mac OS X (10.4.7) MAILWelcome to the discussions, djalma.
View/Message/Long Headers or View/Message/Raw Source
Is that what you are looking for?
AK
Maybe you are looking for
-
How do I install Flash on a new MBPr?
Repeat installs indicate "Finish" but Flash still not available for video viewing.
-
Canon EOS 100D is listed as compatible in Digital Camera RAW Compatibility Update 6.01 and when I have checked for software updates there are none available. I've downloaded the Canon software, connected to my mac via the cable and followed the inst
-
Hello, If I am trying to inject a managed bean with a managed-property of another object I've created in my system that is NOT another managed bean, what is the syntax for the value tag? I know that if my SummaryBO object were another managed-bean wi
-
Regarding Business Accelerators on HANA
Hi All, I have the below queries regarding Business Accelerators on HANA, kindly assist - 1. Can Business Accelerators be used to improve the performance of OLTP transactions in ECC ? 2. Is there a limitation on updates to the tables while they are b
-
Where is Grid Control Download for Linux-x86-64 ?
Help please, Trying to download Grid Control base release from http://www.oracle.com/technology/software/products/oem/index.html All links point to the Patch download for Release 4, which requires an earlier version. I just want the full 10.2.0.3 bas