How to Map messages having different namespaces
Hi Experts,
I am facing a problem while developing a simple process using process composer in CE 7.1 EHP1.
The process has only one AutomatedActivity that invokes a WebService (MyWS.wsdl). The WebService operation takes an input as a BusinessObject defined in the same namespace as the web service i.e. http://samples.mycompany.com.
I imported the MyWS.wsdl in the project. This has imported the service interface and the data types into the project.
Then I defined a web service (StartProcessSI.wsdl) to start the process. This service has only one operation "StartProcess". This operation is supposed to take the same BusinessObject as input which will be passed to MyWS web service.
But I was not able to use the data types from MyWS.wsdl in StartProcessSI.wsdl. Hence I defined the same data types with different namespace (http://bo.samples.mycompany.com) in StartProcessSI.wsdl.
In the process, I have assigned the StartProcessSI service interface to the Start event and added a DataObject of type http://bo.samples.mycompany.com/BusinessObject in the process context. The OutputMapping of Start event is done since both the data types are from same namespace i.e. http://bo.samples.mycompany.com.
Coming to the automated activity I am facing the mapping problem. The BusinessObject in the process context is from namespace http://bo.samples.mycompany.com/. Whereas the input parameter of the operation of the web service is from namesapce http://samples.mycompany.com/.
The structure of the data types is exactly same. The only difference is the namespace. When I map these data types in the InputMapping or OutputMapping of the AutomatedActivity, it shows error (red cross on the mapping) "Incompatible expression type".
How can I handle this?
Thanks in advance.
JK
Thanks Christian.
But can you please explain using a small example.
Input message
<person namespace="http://samples.mycompany.com">
<name>Jon</name>
<address>Some address</address>
</person>
The above message needs to be mapped to a person object having namespace http://bo.samples.mycompany.com.
JK
Similar Messages
-
Different Message Type, Different Namespace, same structure
Hi,
we have the scenario:
We have a message type (with our namespace) in a regular file-tofile scenario.
The sender is sending us an xml-file from his PI that has exactly the same structure and same xsd.
Except, that his message type name and namespace are different.
What is the scenario to get his message type and namespace mapped to my message type and namespace in a regular file-to-file scenario?
Thanks
hsHi, you could also remove namespaces with XMLAnonymizerBean, then you only need to adapt the message type.
Alternatively you can import the external definition of the message and create a mapping for that. You can reuse your existing message mapping, just do a copy and change the message type in the signature. Then you can correct structural inconsistencies automatically in order to adjust the mapping to the changed namespace and message type. Or even better, create a mapping template for the structure which you use in both message mappings. Like this, you have a separate interface and mapping for the file and thus a clear separation of message flow.
Regards, Martin -
How to get Session from different namespace?
Hi,
I´m trying to get a session from a different namespace, how can I do this?
For example: I´m setting some session parameters with session.setAttribute in
a namespace called "customer", and trying to get this parameters in a namespace
called "main".
In my webflow, I am using a proxy node to call the page in the other namespace.
I will always recieve a session from the other namespace. But, when I try to get
the parameters, I think the session have been lost.
Can anyone help me?
Thanx. CSN
ThankWhy? Because that's what the J2EE specification says should happen.
-
How to map tracks to different channels
Dear all,
Im struggling quite a lot to map a composite of 6 tracks to channel A, 3 tracks to channel B and 9 tracks to channel C, I cannot find the way to do this. Could anyone specify me how to do this ?
I need to map tracks to whatever channel i want on a 5.1 session. Track panner doesnt work for me because i want to map for example 10 tracks to one channel, using the track panner i can just map one track.
Thanks,
Manuel.Try the Channel Mixer effect. It is basically a matrix router.
-
Is it possible to do message mapping using different namespace message type
Hi all,
Is it possible to do message mapping using different namespaces message types
Example :
i am having message type MT_1 in namespace http://sap.com/abc
and second message type MT_2 in namespace http://partner.com/xyz
so MT_1 can be mapped with MT_2 or not having different namespace.
ThanksRead through my reply in this thread for Defining Software component dependencies.
Though it explains this for Improted Archives, it also holds true for Message Types to be used in message mappings.
Re: Payload Extraction
Regards
Bhavesh -
How to map 3 different Finished goods aginist one SFG Material
Dear all,
I have a SFG material "A " product. From this SFG -XX1, XX2,XX3 are the 3 different FG product generated.
How to map this 3 different FG againts One SFG.
PLease tell me how to mapping this in Production?
How to put Goods Receipt For XX1, XX2 & XX3?
Regards
RaghunathDear ,
This is a Co-Product scinario where One SFG good generating 3 different FG .You need keep the following set up :
1.In material master of the FG keep Co-Product Indicator ticked
2.In BOM of ther SFG , keep all this three FG as BOM compoenet and Keep the negetive quantity which are getting produced for a base unit quanity .At the same time , selet the item line and go down to Basic Data Tab , keep the Co-Product Indicator ticked .
3. To calculate the production cost of co-products give equivalence
numbers in MRP2 view by clicking Joint Production push button
or you can give the same in the settlement rule in the
Production order by clicking Header menu - Settlement rule.
5. You will get the GR qty for co-products while doing MB31, 101
for the order of the header material.
Hope this will help you to understand the business requirement .
Regards
JH
Edited by: Jiaul Haque on Feb 9, 2010 8:52 AM -
Exception building schema because of different namespace
Hi all,
I have a wsdl that define a schema having different namespace from the service itself. When I create an Invoke activity and the input/output variables, everything went ok. However if I try to explore the newly created input/output variables an exception (Problem building schema) is thrown.
If I use the same namespace for the service and the schema defined in it, everything is okay.
Could anybody explain to me why I should set it to the same namespace to get it to work?
Is it a mistake to use different namespace?
Thanks in advance,
santoso
Below is the wsdl :
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="ProposalWSServiceDefinitions4" targetNamespace="http://www.test.com/service" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:s0="http://www.test.com/service" xmlns:s1="http://schemas.xmlsoap.org/wsdl/soap/">
<types>
<schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://www.test.com/opl" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.test.com/opl">
<complexType name="TProposal">
<sequence>
<element name="id" type="int"/>
<element name="title" type="string"/>
<element name="creator" type="string"/>
<element name="status" type="string"/>
<element name="customerId" type="int"/>
</sequence>
</complexType>
<element name="Proposal" type="tns:TProposal"/>
</schema>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.test.com/service" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="insertProposal">
<xs:complexType>
<xs:sequence>
<xs:element ref="opl:Proposal" xmlns:opl="http://www.test.com/opl"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="insertProposalResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="opl:Proposal" xmlns:opl="http://www.test.com/opl"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</types>
<message name="insertProposal">
<part element="s0:insertProposal" name="parameters"/>
</message>
<message name="insertProposalResponse">
<part element="s0:insertProposalResponse" name="parameters"/>
</message>
<portType name="ProposalWS">
<operation name="insertProposal" parameterOrder="parameters">
<input message="s0:insertProposal"/>
<output message="s0:insertProposalResponse"/>
</operation>
</portType>
<binding name="ProposalWSServiceSoapBinding" type="s0:ProposalWS">
<s1:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="insertProposal">
<s1:operation soapAction="" style="document"/>
<input>
<s1:body parts="parameters" use="literal"/>
</input>
<output>
<s1:body parts="parameters" use="literal"/>
</output>
</operation>
</binding>
<service name="ProposalWSService">
<port binding="s0:ProposalWSServiceSoapBinding" name="ProposalWSSoapPort">
<s1:address location="http://localhost:7021/Proposal"/>
</port>
</service>
</definitions>Hi,
The problem is when I use the wsdl in a bpel process project, the variable created can't be explored.
However, I've found the solution by adding import namespace.
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://www.test.com/service" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.test.com/opl" />
<xs:element name="insertProposal">
<xs:complexType>
<xs:sequence>
<xs:element ref="opl:Proposal" xmlns:opl="http://www.test.com/opl"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="insertProposalResponse">
<xs:complexType>
<xs:sequence>
<xs:element ref="opl:Proposal" xmlns:opl="http://www.test.com/opl"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema> -
CAN periodic transmit message with different modes using Frame API's
I want to transmit a CAN message periodically using Frame API's. I am able to send messages which dont have modes inside the message. For some messages having multiplexer in ".ncd " files and inside that multiplexer having different modes. Now in order to send all the modes of that message periodically by configuring them once by using Frame API's i did not find a way. I am able to send messages but the last updated mode is only sent periodically. Is there any way that CAN message having different modes can be sent periodically, updating all modes periodically automatically using Frame API's.
Hello Kpraveen,
You could set the period for N*Period, N being the number of modes. You just need to make sure your application changes the modes fast enough to update each periodic frame.
For example, say you have 2 modes and the frame's period should be 10ms. That means that you would like that frame to go out twice every 10ms, updating mode 1 and then mode 2. So, that means that the frames period can be 5ms.
1. It will start by updating mode1
2. 5ms later, it will update mode2
3. 5ms later it will update mode1 again
mode 1 really has a period of 10ms...
You just have to make sure that you can update the frame fast enough, or switch between modes fast enough, or you will send the same mode twice.
Let me know if this helps, or if I an not understanding this properly. Have a great day.
O. Proulx
National Instruments
www.ni.com/support -
Different namespaces in incoming message(Proxy)
Hi,
I am working on Proxy-> IDoc scenario and it was working fine.Now,we have an issue.
In the incoming proxy message,the XML namespace and the sender namespace are different.As a result,it throws "Message mapping error" in XI.
Previously,both the namespaces are same and all the XI objects are created based on that.
Now,i have updated the new XML namespace in the message type and executed the scenario.Still i am getting the message mapping error.
The sender namespace have the same name as earlier.
I pasted the payload in the test tab of mapping and the error is "Cannot produce target element /SHPMNT05".
SHPMNT05 IDOC is used in this scenario and SHPMNT05 is the topmost node.
I got the above error after updating the new XML namespace in the message type
Before updating,the error is "XML not well word" and the icons of each node are in red color.
Could anyone help me in resolving this?
Thanks,
SakthiHi Stefan,
Thanks for your reply.
I get to know about the change in the XML namespace after i got the incoming message.Then only i updated the message type and reload it into message mapping and activated both.
When i tested the mapping with the payload,it throws error.
I manually reverted back the namespace to previous one and now i am getting the error as "XML not well formed".
In the proxy message,new XML namespace is already updated befor regeneration of proxy.Is it mandatory to regenerate the proxy now?
Correct me if i am wrong.
Regards,
Sakthi -
Hello B2B Gurus,
I am able to process B2B inbound files successfully from Trading Partner --> B2B --> BPEL. When it comes to BPEL i am not able to parse/transform the received XML as i am getting selection failures in assign and empty nodes in transformation. When i look at the input XML payload which i received in ReceiveB2BConsume Payload i observed that i am getting namespace as " xmlns="NS_495C37A0921C418BB66A86A6E75B2CA120070312140549" instead of actual namespace xmlns="urn:oracle:b2b:X12/V4010/856" which is in my XSD as well and i am getting the XML start tag <?xml version="1.0" encoding="UTF-8" ?> 2 times. :
<?xml version="1.0" encoding="UTF-8" ?>
<?xml version="1.0" encoding="UTF-8" ?>
<Transaction-856 xmlns="NS_495C37A0921C418BB66A86A6E75B2CA120070312140549" mlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XDataVersion="1.0" Standard="X12" Version="V4010" CreatedDate="2013-08-21T16:33:57" CreatedBy="XEngine_2956" GUID="{00C28978-0AA1-11E3-88B9-80C16E7DC6DA}">
<Internal-Properties>
</Transaction-856>
I went back and checked the XSD which i loaded in the B2B Console and i am having the following namespace
"<xsd:schema xmlns="urn:oracle:b2b:X12/V4010/856" targetNamespace="urn:oracle:b2b:X12/V4010/856" xmlns:xsd="http://www.w3.org/2001/XMLSchema" version="1.0" elementFormDefault="qualified">"
I am not sure why the XML translated from EDI in B2B console has the different namespace and XML start tag 2 times. Can you please help me resolve the issue. Let me know if i am missing anything.
Thanks in Advance..Hi,
Please set property as b2b.setDynamicNameSpace=false.
To use EDI ecs and xsd files from Oracle B2B 10g version, set this property to true.
When using EDI ecs and xsd files in Oracle B2B 11g which were used in Oracle B2B 10g, the XEngine may generate dynamic namespace for the translated xml. For example,
xmlns="NS_31CA8D0F33324F95A0BF15D85539C27E20060518215520"
To turn off dynamic namespace generation for inbound EDI messages, set this property to false.
Thanks
Satendra Pare -
Get Message ID and namespace from ABAP Mapping
Hi XI Expert,
Please advise how to get the message ID and namespace from ABAP Mapping.
Thank You and best Regards
FernandHi,
To access the message ID, use the method GET_MESSAGE_ID of the controller object:
1. Fetch a protocol instance for the protocol IF_WSPROTOCOL_MESSAGE_ID.
2. To have the system return the message ID after the sender has sent a request message or the receiver has received a request message, use the method GET_MESSAGE_ID of this instance. This returns the ID by using the parameter MESSAGE_ID of type SXMSGUID.
Also you could do the same by this way also:
IF_WSPROTOCOL_XI_HEADER
has attributes messageid and interface namespace.
using this you can read the XI message header -
How to send message values to different receivers?
Hi All
I have an incoming message having many values in that like
value=0
value=1
Value=0 i have to sent it to one receiver and value = 1 have to sent it to different receiver.
How to do this, Please explain in detail.
Thanks in AdvanceHi Dheeraj,
Use Condition base Receiver Determination :-).
XPath to show the path (Multiple Receivers) .
In the above mentioned blog forget about the BPM part directly go to receiver determination step and configure receiver . as shown in the pic using xpath on the based of values 0 or 1 ...simple..:--)
Let us know for any doubts.
Regards, -
How to "get" message mapping from XI scenario
Hi guys!
Is there a way, how to export message mapping description in some way from PI? In XI 3.0 it was possible, but what about PI 7.0? Hope you understand me:)
We need it to save this mm description as documentation.
Thanx a lot!
OlianHey Oilan,
with the message mapping open, hold ctrl + shift and right-click in the data-flow editor (the part of the screen where the function boxes and links go).
a different menu will pop-up. just follow "export tools, export" or something like that. It is pretty straightforward.
It will save the mapping in a .mte (or something like that) extension file. It is nothing but an XML. Good thing is that you can also import this .mte file in another message mapping (of course, with same source and target messages, or it won't be able to reference the links).
Regards,
Henrique. -
How to change the incoming xml to a different namespace
I have a xml file coming into XI (file ->XI)without namespace. I would like to change the root elment with ns tag add the namespace values with it.
ie.,
Coming in as
<Vendor>
</Vendor>
I would like to change it to
<ns:Vendor xmlns:ns="urn:group01:legacy">
</ns:Vendor>
thanksMichal
I did create all interface objects and mapping objects by adding "urn:" on the software component namespace table.
In that I did import external definition with no name space schema and did create message interface out of it.
Then in urn:group01:legacy namespace i did create message mapping between no namespace to with namespace and test it works great.
In the message interface it did allow me add the new source with no namespace and the target with interface with namespace. The source and target interface I add to on top of the exisiting vendor:group01:legacy to target CREMAS:CREMAS03. But I couldn't select to add the second mapping. The message mapping allows only one.
This is what I have
Interface Mapping
Source Interface -
TargetInterface
Vendorwithnospace -
Vendor_out
Vendor_out -
CREMAS:CREMAS03
Request
Source Message --- Mapping Program -
Target Message
Vendor -
<does not allow to add>--- Vendor
Vendor -
Vendor_CREMAS03 -
CREMAS:CREMAS03
I thought I can do the first mapping to add the namespace and have the output to feed it as input for the second mapping.
I know I can always use the configuration directory to output and make it as two jobs, but all I need is to add the namespace to the file root element. -
How a text message came to me can be forwarded to another contact? Is there any facility in iPhone 4 to store the text messages in different folders as can be done in other smartphones?
YOu hold down on the text message until you see copy/more - select more - you'll see the options.
Maybe you are looking for
-
Sample Ageing Report in XL Reporter
Hi Does anyone have a copy of a sample ageing report that has been created in XL reporter?
-
How to maintain bitmap index on a large table in DW?
Hi all, We have many tables which are constantly doing either FULL or INCREMENTAL loading. And we have created many BITMAP indexes and several B*Tree index (caused by PRIMARY KEY or UNIQUE key constraints) on those tables. So, what I want to know is,
-
Trying to send an email with the mail client, says password is wrong
The password is right but when I enter it in, it keeps saying that it's wrong and gives the server.ntmp error msg
-
Compare and validate values between fields on different objetcs
The main problem we are having right now is that we need to define a business's rule that compares two amounts between two different objects (in our case, account and custom object 3) and do a subtraction in order to check if the money amount value o
-
Call barring option is missing
Hi every one! I have the following issue with my blackberry, I can find the call barring option on the phone. I havedownloaded the phone manual and did exactly what it says, but still cant find it. I have found all the other options like call forward