Forum Stats

  • 3,770,127 Users
  • 2,253,073 Discussions
  • 7,875,336 Comments

Discussions

Routing MultiPart Messages

526685
526685 Member Posts: 28
edited Aug 18, 2006 7:41PM in SOA Suite Discusssions
When selecting an existing wsdl for a new routing service, I get an error message:

The selected porttype is using a message that is invalid for ESB because it is multi-part or has a simple type. The message myRequest in operation myOperation of porttype MyService is invalid. Please select another porttype or fix the wsdl.

Since I'm presumably routing a pre-exsiting service, with consumers already coded against the old (supposedly invalid) wsdl, are there any workarounds possible here?

(The message is simple:
<wsdl:message name="myRequest">
<wsdl:part name="credentials" type="impl:Credentials"/>
<wsdl:part name="groups" type="impl:Groups"/>
</wsdl:message>
)


thanks!
Mike

Comments

  • 322036
    322036 Member Posts: 1,626
    wondering if this is really invalid ..

    according to the wsdl schema this is valid ..
    <xs:complexType name="tMessage">
    [..]
    <xs:element name="part" type="wsdl:tPart" minOccurs="0" maxOccurs="unbounded"/>
    [..]
    </xs:complexType>

    pls file a bug against this misbehaviour ..

    thank you and sorry for the inconvenience ..
  • tbeets
    tbeets Member Posts: 92
    Hmmm. Perhaps ESB leverages the core JDeveloper 10.1.3 bits for groking WSDL. I ran into a problem with JDeveloper 10.1.3 not liking Oracle Access Manager (COREid) out of the box web services because they all have multi-part messages, and JDeveloper 10.1.3 complains that these our not WS-I compliant (and refuses to go any further).

    Here's what I wrote in an internal architecture brief to my team back in May:

    "As the input message to COREid IdentityXML web services has two message parts (each with an element reference), COREid services are not currently WS-Interoperability (WS-I) 1.0 or 1.1 compliant.
    WS-I narrows the WSDL 1.1 standard to allow either zero or one message parts for document-literal bindings.
    http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html#Bindings_and_Parts

    Client tools that are written assuming WS-I compliance (the java proxy class generator of Oracle JDeveloper 10g 10.1.3 seems to be a case) may fail.

    QUALCOMM needs to work with Oracle to identify and have this interoperability issue with COREid web services resolved in future releases of the product."

    Unfortunately, I have not yet followed up with Oracle...

    -Todd
  • 322036
    322036 Member Posts: 1,626
    todd - on another part -
    how come you'd know it's doc literal and not rpc style - if you try with an abstract wsdl :D

    part 2- in BPEL 10.1.3.1 it's working, at least at designtime - just verified ..

    /clemens
  • tbeets
    tbeets Member Posts: 92
    Hi Clemens,

    Via email I sent you more detail on the COREid IdentityXML WSDL pattern where I have seen the same (or similar) multi-part issue. Perhaps that will provide more detail.

    Thanks!
    Todd
  • 322036
    322036 Member Posts: 1,626
    thanx Todd .. have received it ..
  • 322036
    322036 Member Posts: 1,626
    I was able to create / compile and deploy a process with input as shown below

    <message name="TestXPATHRequestMessage">
    <part name="header" element="client:TestXPATHProcessRequest"/>
    <part name="payload" element="client:TestXPATHProcessRequest"/>
    </message>

    however execution fails badly ..
    --
    need to dig further into this ..
    /clemens
  • 322036
    322036 Member Posts: 1,626
    filed bug 5476315 on this - reproduces with BPEL 2 BPEL too - so this is in the WS stack
This discussion has been closed.