|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Need a Little Help on Dynamic PLsHopefully this is a simple question because I seen to be very, very close to the setup I'd like. I'm placing endpoint data in a literal in the BPEL for now, until I get it formed correctly. However, I'm getting "BPJBI-6019:unable to resolve the service endpoint dynamically for the document fragment". It seem correct to me though...
He are some sections of the BPEL, Assign9 contains the addressing information assigned to a variable and the variable is later used select a PL. Is there a namespace incorrect in my literal XML in assign9? If I can get this right, I can move the addressing to the input. But I'm out of ideas. Thanks! ... xmlns:ns0="http://www.iwsinc.com/preaction" xmlns:ns1="http://www.iwsinc.com/preactionresponse" xmlns:ns2="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" xmlns:ns3="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:ns4="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" xmlns:ns5="http://docs.oasis-open.org/wsbpel/2.0/process/executable"> <import namespace="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" location="CMSPreActionSoap.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <import namespace="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" location="CMSPreActionEJB0.wsdl" importType="http://schemas.xmlsoap.org/wsdl/"/> <partnerLinks> <partnerLink name="CMSPreActionEJB0PL" xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" partnerLinkType="tns:CMSPreActionEJB0" partnerRole="CMSPreActionEJB0PortTypeRole"/> <partnerLink name="CMSPreActionSoapPL" xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" partnerLinkType="tns:CMSPreActionSoap" myRole="CMSPreActionSoapPortTypeRole"/> </partnerLinks> <variables> <variable name="EPR" element="ns2:EPR"/> ... <assign name="Assign9"> <copy> <from> <literal><ns3:EndpointReference> <ns3:Address>http://localhost:8080/CMSPreActionEJB0Service/CMSPreActionEJB0</ns3:Address> <ns3:ServiceName PortName="CMSPreActionEJB0Port">ns4:CMSPreActionEJB0Service</ns3:ServiceName> </ns3:EndpointReference></literal> </from> <to>$EPR/ns3:EndpointReference</to> </copy> </assign> ... <assign name="Assign7"> <copy> <from variable="EPR"/> <to partnerLink="CMSPreActionEJB0PL"/> </copy> </assign> ... <invoke name="Invoke2" partnerLink="CMSPreActionEJB0PL" operation="CMSPreActionEJB0Operation" xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" portType="tns:CMSPreActionEJB0PortType" inputVariable="CMSPreActionEJBCustomOperationIn" outputVariable="CMSPreActionEJBCustomOperationOut"/> This is the WSDL used in the PL: <?xml version="1.0" encoding="UTF-8"?> <definitions name="CMSPreActionEJB0" targetNamespace="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" xmlns:ns0="http://www.iwsinc.com/preactionresponse" xmlns:ns="http://www.iwsinc.com/preaction" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <types> <xsd:schema targetNamespace="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0"> <xsd:import namespace="http://www.iwsinc.com/preaction" schemaLocation="CMSPreAction.xsd"/> <xsd:import namespace="http://www.iwsinc.com/preactionresponse" schemaLocation="CMSPreActionResponse.xsd"/> </xsd:schema> </types> <message name="CMSPreActionEJB0OperationRequest"> <part name="part1" element="ns:CMSPreAction"/> </message> <message name="CMSPreActionEJB0OperationResponse"> <part name="part1" element="ns0:CMSPreActionResponse"/> </message> <portType name="CMSPreActionEJB0PortType"> <operation name="CMSPreActionEJB0Operation"> <input name="input1" message="tns:CMSPreActionEJB0OperationRequest"/> <output name="output1" message="tns:CMSPreActionEJB0OperationResponse"/> </operation> </portType> <binding name="CMSPreActionEJB0Binding" type="tns:CMSPreActionEJB0PortType"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="CMSPreActionEJB0Operation"> <soap:operation/> <input name="input1"> <soap:body use="literal"/> </input> <output name="output1"> <soap:body use="literal"/> </output> </operation> </binding> <service name="CMSPreActionEJB0Service"> <port name="CMSPreActionEJB0Port" binding="tns:CMSPreActionEJB0Binding"> <soap:address location="http://localhost:${HttpDefaultPort}/CMSPreActionEJB0Service/CMSPreActionEJB0Port"/> </port> </service> <plnk:partnerLinkType name="CMSPreActionEJB0"> <!-- A partner link type is automatically generated when a new port type is added. Partner link types are used by BPEL processes. In a BPEL process, a partner link represents the interaction between the BPEL process and a partner service. Each partner link is associated with a partner link type. A partner link type characterizes the conversational relationship between two services. The partner link type can have one or two roles.--> <plnk:role name="CMSPreActionEJB0PortTypeRole" portType="tns:CMSPreActionEJB0PortType"/> </plnk:partnerLinkType> </definitions> |
|
|
Re: Need a Little Help on Dynamic PLsWhere is your "ns2:EPR" definition? I didn't find it below. Referred by,
<variable name="EPR" element="ns2:EPR"/> Can you use the attached example to see if it helps you? The attached example was written so that it will be added to the sample BPEL projects of NB. Provide suggestions so that the sample can be improved. If the sample doesn't help at all in your case, one of us can look at your specific case and debug it. - Kiran B. jsexton0 wrote: > Hopefully this is a simple question because I seen to be very, very close to > the setup I'd like. I'm placing endpoint data in a literal in the BPEL for > now, until I get it formed correctly. However, I'm getting > "BPJBI-6019:unable to resolve the service endpoint dynamically for the > document fragment". It seem correct to me though... > > He are some sections of the BPEL, Assign9 contains the addressing > information assigned to a variable and the variable is later used select a > PL. Is there a namespace incorrect in my literal XML in assign9? If I can > get this right, I can move the addressing to the input. But I'm out of > ideas. > > Thanks! > > ... > xmlns:ns0="http://www.iwsinc.com/preaction" > xmlns:ns1="http://www.iwsinc.com/preactionresponse" > xmlns:ns2="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" > xmlns:ns3="http://schemas.xmlsoap.org/ws/2004/08/addressing" > xmlns:ns4="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" > xmlns:ns5="http://docs.oasis-open.org/wsbpel/2.0/process/executable"> > <import namespace="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" > location="CMSPreActionSoap.wsdl" > importType="http://schemas.xmlsoap.org/wsdl/"/> > <import namespace="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" > location="CMSPreActionEJB0.wsdl" > importType="http://schemas.xmlsoap.org/wsdl/"/> > <partnerLinks> > <partnerLink name="CMSPreActionEJB0PL" > xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" > partnerLinkType="tns:CMSPreActionEJB0" > partnerRole="CMSPreActionEJB0PortTypeRole"/> > <partnerLink name="CMSPreActionSoapPL" > xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" > partnerLinkType="tns:CMSPreActionSoap" > myRole="CMSPreActionSoapPortTypeRole"/> > </partnerLinks> > <variables> > <variable name="EPR" element="ns2:EPR"/> > ... > <assign name="Assign9"> > <copy> > <from> > <literal><ns3:EndpointReference> > <ns3:Address>http://localhost:8080/CMSPreActionEJB0Service/CMSPreActionEJB0</ns3:Address> > <ns3:ServiceName > PortName="CMSPreActionEJB0Port">ns4:CMSPreActionEJB0Service</ns3:ServiceName> > </ns3:EndpointReference></literal> > </from> > <to>$EPR/ns3:EndpointReference</to> > </copy> > </assign> > ... > <assign name="Assign7"> > <copy> > <from variable="EPR"/> > <to partnerLink="CMSPreActionEJB0PL"/> > </copy> > </assign> > ... > <invoke name="Invoke2" partnerLink="CMSPreActionEJB0PL" > operation="CMSPreActionEJB0Operation" > xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" > portType="tns:CMSPreActionEJB0PortType" > inputVariable="CMSPreActionEJBCustomOperationIn" > outputVariable="CMSPreActionEJBCustomOperationOut"/> > > This is the WSDL used in the PL: > > <?xml version="1.0" encoding="UTF-8"?> > <definitions name="CMSPreActionEJB0" > targetNamespace="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" > xmlns="http://schemas.xmlsoap.org/wsdl/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0" > xmlns:ns0="http://www.iwsinc.com/preactionresponse" > xmlns:ns="http://www.iwsinc.com/preaction" > xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> > <types> > <xsd:schema > targetNamespace="http://j2ee.netbeans.org/wsdl/CMSPreActionEJB0"> > <xsd:import namespace="http://www.iwsinc.com/preaction" > schemaLocation="CMSPreAction.xsd"/> > <xsd:import namespace="http://www.iwsinc.com/preactionresponse" > schemaLocation="CMSPreActionResponse.xsd"/> > </xsd:schema> > </types> > <message name="CMSPreActionEJB0OperationRequest"> > <part name="part1" element="ns:CMSPreAction"/> > </message> > <message name="CMSPreActionEJB0OperationResponse"> > <part name="part1" element="ns0:CMSPreActionResponse"/> > </message> > <portType name="CMSPreActionEJB0PortType"> > <operation name="CMSPreActionEJB0Operation"> > <input name="input1" > message="tns:CMSPreActionEJB0OperationRequest"/> > <output name="output1" > message="tns:CMSPreActionEJB0OperationResponse"/> > </operation> > </portType> > <binding name="CMSPreActionEJB0Binding" > type="tns:CMSPreActionEJB0PortType"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/> > <operation name="CMSPreActionEJB0Operation"> > <soap:operation/> > <input name="input1"> > <soap:body use="literal"/> > </input> > <output name="output1"> > <soap:body use="literal"/> > </output> > </operation> > </binding> > <service name="CMSPreActionEJB0Service"> > <port name="CMSPreActionEJB0Port" > binding="tns:CMSPreActionEJB0Binding"> > <soap:address > location="http://localhost:${HttpDefaultPort}/CMSPreActionEJB0Service/CMSPreActionEJB0Port"/> > </port> > </service> > <plnk:partnerLinkType name="CMSPreActionEJB0"> > <!-- A partner link type is automatically generated when a new port > type is added. Partner link types are used by BPEL processes. > In a BPEL process, a partner link represents the interaction between the > BPEL process and a partner service. Each partner link is associated with a > partner link type. > A partner link type characterizes the conversational relationship between > two services. The partner link type can have one or two roles.--> > <plnk:role name="CMSPreActionEJB0PortTypeRole" > portType="tns:CMSPreActionEJB0PortType"/> > </plnk:partnerLinkType> > </definitions> > > > Kiran Bhumana Open ESB Community (http://open-esb.org) |
|
|
Re: Need a Little Help on Dynamic PLsHello -
Yes, I have studied this example carefully (as well as a few others), for a couple of days now. What I want to do is to use an XSD with the address data included in normal strings, in addition to other data, as my input, rather than directly assign to the EPR variable. In the final application, the address could then be driven by the other content. Then I can assign that address data to the ESB variable included in the BPEL's WSDL and go from there. Even if I derive something from this example, I still have to get the correct data to it. This is why I thought my question might be simple. I must have an error in the namespaces of the port or service? Thanks, and thanks for your example also. It was extremely helpful in getting started. But now I'm rather stuck. Regarding the "ns2:EPR" variable... Here is the first bit of the WSDL providing the entry point to the BPEL: <?xml version="1.0" encoding="UTF-8"?> <definitions name="CMSPreActionSoap" targetNamespace="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap" xmlns:ns0="http://www.iwsinc.com/preactionresponse" xmlns:ns="http://www.iwsinc.com/preaction" xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> <types> <xsd:schema targetNamespace="http://j2ee.netbeans.org/wsdl/CMSPreActionSoap"> <xsd:import namespace="http://www.iwsinc.com/preactionresponse" schemaLocation="CMSPreActionResponse.xsd"/> <xsd:import namespace="http://www.iwsinc.com/preaction" schemaLocation="CMSPreAction.xsd"/> <xsd:import namespace="http://schemas.xmlsoap.org/ws/2004/08/addressing" schemaLocation="schemas.xmlsoap.org/ws/2004/08/addressing.xsd" /> <xsd:element name="EPR"> <xsd:complexType> <xsd:sequence> <xsd:element ref="wsa:EndpointReference" /> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema> </types> <message name="CMSPreActionSoapOperationRequest"> <part name="part1" element="ns:CMSPreAction"/> </message> ... This seems to all work ok, in that it tries to find the endpoint. I do all the assignments I need, it's simply that the values of the service or port must be wrong. I know the address is correct since it's easy to test with a quick http request.
|
|
|
Re: Need a Little Help on Dynamic PLs
OK. The example is to provide the best mechanisms to actually construct
the EPR value which is a bit involved as well. Looks like you are past
that, thats good.
Let me see if you ran into the following issue. Currently the service endpoint/port values that you provide should be available to HTTP-BC. <ns3:ServiceName PortName="CMSPreActionEJB0Port">ns4:CMSPreActionEJB0Service</ns3:ServiceName>Meaning you should have had such a Service deployed into HTTP-BC. Effectively this means the only dynamic value that you can make use of is the URL. This is a limitation and there is a pending enhancement for HTTP-BC. Does that help? jsexton0 wrote:
-- Kiran Bhumana Open ESB Community (http://open-esb.org) |
|
|
Re: Need a Little Help on Dynamic PLsThe address part of what I am using is the part that I can easily confirm, just using a browser, and that is correct. So why can't it locate the endpoint? Should I assign nothing to the port and service?
Maybe I'll try further to work within the example. Part of what I need to do is make this addressing, and thus the dynamic call, optional in the input, at the outer most level. Thanks again
|
|
|
Re: Need a Little Help on Dynamic PLsHello -
I've made this very, very similar to the example, but still the problem persists. The only difference I see is that I have the addressing information inside an optional piece, in an XSD, which I use to define the outer most input WSDL. Although this is a difference, it still seems to me that I must just have the endpoint information wrong. But I just can't see it... I'm uploading the projects. I'd be grateful for any advise, I think I'm at a loss... Thanks NetbeansProjects.zip |
|
|
Re: Need a Little Help on Dynamic PLsI made an even more trivial case, nearly exactly like the example. In this case I get "BPJBI-6019:unable to resolve the service endpoint dynamically for the document fragment". The only difference in this instance is that the jar with the EJB I mean to call is included in the SA. Is that a problem?
|
|
|
Re: Need a Little Help on Dynamic PLsYes, it is a problem as the feature status stands now. Dynamic end point feature works for HTTP-BC and BPEL-SE. If you include the EJB in comp-App (SA), the call from BPEL directly goes to the EJB through JavaEE and that will not work. If you want to make it work, you can manually edit on the CASA editor to link the BPEL OUT to HTTP IN and from HTTP IN to the EJB. -Kiran B. jsexton0 wrote: > I made an even more trivial case, nearly exactly like the example. In this > case I get "BPJBI-6019:unable to resolve the service endpoint dynamically > for the document fragment". The only difference in this instance is that > the jar with the EJB I mean to call is included in the SA. Is that a > problem? > -- Kiran Bhumana Open ESB Community (http://open-esb.org) |
|
|
Re: Need a Little Help on Dynamic PLsThanks, I'm beginning to understand this better...
Slowly.
|
| Free embeddable forum powered by Nabble | Forum Help |