1 Reply Latest reply on Dec 17, 2005 11:38 PM by Alejandro Guizar

    Question about BPEL's WSDL message part

    Roy Forever Newbie

      Excuse me,
      I have success deployed a process called BuyingBook.
      While the deployment, I found something that would like to know.

      In the process's WSDL
      Initially, I use element as the message part but the deployment was failed

      <message name="BuyingBookRequestMessage">
       <part element="my:BuyingBookRequest" name="payload"/>
      </message>
      <message name="BuyingBookResponseMessage">
       <part element="my:BuyingBookResponse" name="payload"/>
      </message>
      
      17:25:10,562 WARN [TypeMappingDescription] Class not found: learning.buyingbook.BuyingBookRequest
      


      I found the the WSCompile haven't generate the class for me
      Therefore, I modify the WSDL the using type rather than element
      and the deployment is success
      <message name="BuyingBookRequestMessage">
       <part type="my:BuyingBookRequestType" name="payload"/>
      </message>
      <message name="BuyingBookResponseMessage">
       <part type="my:BuyingBookResponseType" name="payload"/>
      </message>
      


      Would jBPM BPEL allow to use element rather than type in message part?
      Is that it is required for me to writting the missing class if element is using

      The below code is for reference usage:
      <types>
       <xsd:schema targetNamespace="http://learning/BuyingBook">
       <xsd:complexType name="BuyingBookRequestType">
       <xsd:sequence>
       <xsd:element name="input" type="xsd:string"/>
       </xsd:sequence>
       </xsd:complexType>
       <xsd:complexType name="BuyingBookResponseType">
       <xsd:sequence>
       <xsd:element name="result" type="xsd:string"/>
       </xsd:sequence>
       </xsd:complexType>
       <xsd:element name="BuyingBookRequest" type="BuyingBookRequestType"/>
       <xsd:element name="BuyingBookResponse" type="BuyingBookResponseType"/>
       </xsd:schema>
      </types>
      


      Thank you very much ^^
      Roy

        • 1. Re: Question about BPEL's WSDL message part
          Alejandro Guizar Master

          The WS-I Basic Profile v1.0 describes how many wsdl:part elements are permitted or required for document-literal and rpc-literal bindings and how they must be defined:

          <ul><li> An rpc-literal binding in a DESCRIPTION MUST refer, in its soapbind:body element(s), only to wsdl:part element(s) that have been defined using the type attribute.</li>
          [...]
          <li>For document-literal bindings, the Profile requires that at most one part, abstractly defined with the element attribute, be serialized into the soap:Body element.</li></ul>


          wscompile focuses on supporting WS-I BP compliant definitions; for non-compliant ones, it sometimes behaves strangely. If you change the binding style from rpc to document, wscompile should be able to generate the class for you.

          However, jBPM BPEL does not support publishing ports with doc-literal bindings (it does support invoking them, tough). Would you please file a JIRA feature request for this?