Loading ...
Sorry, an error occurred while loading the content.

RE: [wsdl] Doc/Literal impact on SOAP messages

Expand Messages
  • Naresh Agarwal
    James, ... But some soap impementations don t use soapAction for this purpose. Does this mean that operation name in document/literal type is not mandatory and
    Message 1 of 7 , Sep 2 6:01 AM
    • 0 Attachment
      James,
       
      >For document/literal operations, the operation does not appear as part of the XML request message.
      >However, the name often appears as part of the soapAction for the operation.
       
      But some soap impementations don't use soapAction for this purpose. Does this mean that operation name in
      document/literal type is not mandatory and does not always make sense.
       
      Also how soap request would be identfied (since there is no mention of "operation name" anywhere) in these scenarios?
       
      thanks,
      regards,
      Naresh Agarwal
       
      -----Original Message-----
      From: James Pasley [mailto:james.pasley@...]
      Sent: Friday, August 30, 2002 10:20 PM
      To: wsdl@yahoogroups.com
      Subject: RE: [wsdl] Doc/Literal impact on SOAP messages

      Naresh,
       
      For document/literal operations, the operation does not appear as part of the XML request message.
      However, the name often appears as part of the soapAction for the operation.
       
      You are right, where the body element contains  "an entire XML", there would be just a single part in
      the message. Typically, the server would then just use this element name to identify the operation.
       
      James.
       
       -----Original Message-----
      From: Naresh Agarwal [mailto:nagarwal@...]
      Sent: 29 August 2002 06:32
      To: wsdl@yahoogroups.com
      Cc: james.pasley@...
      Subject: RE: [wsdl] Doc/Literal impact on SOAP messages

      Hi James
       
      In case of document/literal operations, what is the significance of operation name in binding and porttype element?
       
      For instance, in SOAP request and WSDL files u have given, there is a operation called "SampleOperation", but essentially
      service does not support any operation as such. All it does is consumes the entire XML inside the "body" element and may
      produdce the one for SOAP response.
       
      Also in the examples u have given, body element has essentially three child elements (StringElement, SampleElement and StringElement)..
      so u have *three part* elements in "RequestMessage"
       
      If body element contains an *entire XML*, then would RequestMessage have just *one part* element??
       
      thanks,
      regards,
      Naresh Agarwal
      [Naresh Agarwal]   -----Original Message-----
      From: James Pasley [mailto:james.pasley@...]
      Sent: Wednesday, August 28, 2002 3:17 PM
      To: wsdl@yahoogroups.com
      Subject: RE: [wsdl] Doc/Literal impact on SOAP messages


      Marionm,

      below is a sample request message, and below that again is the sample WSDL
      file which describes it. The key thing to remember when dealing with
      document/literal operations is that the structure of the message is
      described exactly by the XML schema.

      If you would like to experiment with different WSDL files, then I recommend
      checking out the Web Service Tester included in CapeStudio. It generates a
      sample request message for any WSDL file you point it at.

      James.

      NEW CapeStudio 3, out now
      Design, develop, integrate & deploy Web Services
      http://www.capeclear.com/download


      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope
          xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
          xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns:ns0="http://www.justtesting.com/Untitled.xsd1">
          <SOAP-ENV:Body>
              <ns0:StringElement>Arg1</ns0:StringElement>
              <ns0:SampleElement>
                  <field1>Value1</field1>
                  <field2>Value2</field2>
                  <field3>Value3</field3>
              </ns0:SampleElement>
              <ns0:StringElement>Arg3</ns0:StringElement>
          </SOAP-ENV:Body>
      </SOAP-ENV:Envelope>



      <?xml version="1.0" encoding="UTF-8"?>
      <definitions
          name="Sample"
          targetNamespace="http://www.justtesting.com/formarionm59.wsdl"
          xmlns="http://schemas.xmlsoap.org/wsdl/"
          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:tns="http://www.justtesting.com/formarionm59.wsdl"
          xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          xmlns:xsd1="http://www.justtesting.com/Untitled.xsd1">
          <types>
              <xsd:schema
                  targetNamespace="http://www.justtesting.com/Untitled.xsd1"
                  xmlns="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                  <xsd:element name="SampleElement">
                      <xsd:complexType>
                          <xsd:sequence>
                              <xsd:element maxOccurs="1" minOccurs="1"
      name="field1" type="xsd:string"/>
                              <xsd:element maxOccurs="1" minOccurs="1"
      name="field2" type="xsd:string"/>
                              <xsd:element maxOccurs="1" minOccurs="1"
      name="field3" type="xsd:string"/>
                          </xsd:sequence>
                      </xsd:complexType>
                  </xsd:element>
                  <xsd:element name="StringElement" type="xsd:string"/>
              </xsd:schema>
          </types>
          <message name="RequestMessage">
              <part element="xsd1:StringElement" name="arg1"/>
              <part element="xsd1:SampleElement" name="arg2"/>
              <part element="xsd1:StringElement" name="arg3"/>
          </message>
          <message name="ResponseMessage">   </message>
          <portType name="UntitledPortType">
              <operation name="SampleOperation">
                  <input message="tns:RequestMessage"/>
                  <output message="tns:ResponseMessage"/>
              </operation>
          </portType>
          <binding name="UntitledBinding" type="tns:UntitledPortType">
              <soap:binding style="document"
      transport="http://schemas.xmlsoap.org/soap/http"/>
              <operation name="SampleOperation">
                  <soap:operation

      soapAction="capeconnect:Sample:UntitledPortType#SampleOperation"
                      style="document"/>
                  <input>
                      <soap:body

      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

      namespace="http://www.justtesting.com/formarionm59/binding"
                          use="literal"/>
                  </input>
                  <output>
                      <soap:body

      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

      namespace="http://www.justtesting.com/formarionm59/binding"
                          use="literal"/>
                  </output>
              </operation>
          </binding>
          <service name="Sample">
              <port binding="tns:UntitledBinding" name="UntitledPort">
                  <soap:address location="http://localhost:8000/ccx/Untitled"/>
              </port>
          </service>
      </definitions>


      -----Original Message-----
      From: marionm59 [mailto:marionm59@...]
      Sent: 27 August 2002 23:23
      To: wsdl@yahoogroups.com
      Subject: [wsdl] Doc/Literal impact on SOAP messages


      I'm having a hard time understanding how I should construct SOAP
      request messages when the WSDL describes an operation as document
      literal.  Could someone provide a wsdl and the corresponding soap
      request and response for an operation that's a little more complicated
      than hello world?  Also, is there documentation
      that describes this relationship in concrete terms?  thanks.



      -----------------------------------------------------------------
      This group is a forum for the discussion of the WSDL specification and its
      implementation.  Please stay on-topic.

      To unsubscribe from this group, send an email to:
      wsdl-unsubscribe@yahoogroups.com



      Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/



      -----------------------------------------------------------------
      This group is a forum for the discussion of the WSDL specification and its implementation.  Please stay on-topic.

      To unsubscribe from this group, send an email to:
      wsdl-unsubscribe@yahoogroups.com



      Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


      -----------------------------------------------------------------
      This group is a forum for the discussion of the WSDL specification and its implementation.  Please stay on-topic.

      To unsubscribe from this group, send an email to:
      wsdl-unsubscribe@yahoogroups.com



      Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
    • Anne Thomas Manes
      Naresh, It s up to your SOAP server to dictate how you must convey the operation name. Most SOAP implementations use SOAPaction for this purpose. It could be,
      Message 2 of 7 , Sep 2 7:51 AM
      • 0 Attachment
        Naresh,
         
        It's up to your SOAP server to dictate how you must convey the operation name. Most SOAP implementations use SOAPaction for this purpose. It could be, though, that the SOAP server determines the operation based on the XML document submitted.
         
        Regardless of how the SOAP server figures it out, you still always need to specify an <operation> element in your <portType>, and the name= attribute is a required attribute for the <operation> element. Hence the operation name is mandatory.
         
        Anne
        -----Original Message-----
        From: Naresh Agarwal [mailto:nagarwal@...]
        Sent: Monday, September 02, 2002 9:02 AM
        To: wsdl@yahoogroups.com
        Cc: james.pasley@...
        Subject: RE: [wsdl] Doc/Literal impact on SOAP messages

        James,
         
        >For document/literal operations, the operation does not appear as part of the XML request message.
        >However, the name often appears as part of the soapAction for the operation.
         
        But some soap impementations don't use soapAction for this purpose. Does this mean that operation name in
        document/literal type is not mandatory and does not always make sense.
         
        Also how soap request would be identfied (since there is no mention of "operation name" anywhere) in these scenarios?
         
        thanks,
        regards,
        Naresh Agarwal
         
        -----Original Message-----
        From: James Pasley [mailto:james.pasley@...]
        Sent: Friday, August 30, 2002 10:20 PM
        To: wsdl@yahoogroups.com
        Subject: RE: [wsdl] Doc/Literal impact on SOAP messages

        Naresh,
         
        For document/literal operations, the operation does not appear as part of the XML request message.
        However, the name often appears as part of the soapAction for the operation.
         
        You are right, where the body element contains  "an entire XML", there would be just a single part in
        the message. Typically, the server would then just use this element name to identify the operation.
         
        James.
         
         -----Original Message-----
        From: Naresh Agarwal [mailto:nagarwal@...]
        Sent: 29 August 2002 06:32
        To: wsdl@yahoogroups.com
        Cc: james.pasley@...
        Subject: RE: [wsdl] Doc/Literal impact on SOAP messages

        Hi James
         
        In case of document/literal operations, what is the significance of operation name in binding and porttype element?
         
        For instance, in SOAP request and WSDL files u have given, there is a operation called "SampleOperation", but essentially
        service does not support any operation as such. All it does is consumes the entire XML inside the "body" element and may
        produdce the one for SOAP response.
         
        Also in the examples u have given, body element has essentially three child elements (StringElement, SampleElement and StringElement)..
        so u have *three part* elements in "RequestMessage"
         
        If body element contains an *entire XML*, then would RequestMessage have just *one part* element??
         
        thanks,
        regards,
        Naresh Agarwal
        [Naresh Agarwal]   -----Original Message-----
        From: James Pasley [mailto:james.pasley@...]
        Sent: Wednesday, August 28, 2002 3:17 PM
        To: wsdl@yahoogroups.com
        Subject: RE: [wsdl] Doc/Literal impact on SOAP messages


        Marionm,

        below is a sample request message, and below that again is the sample WSDL
        file which describes it. The key thing to remember when dealing with
        document/literal operations is that the structure of the message is
        described exactly by the XML schema.

        If you would like to experiment with different WSDL files, then I recommend
        checking out the Web Service Tester included in CapeStudio. It generates a
        sample request message for any WSDL file you point it at.

        James.

        NEW CapeStudio 3, out now
        Design, develop, integrate & deploy Web Services
        http://www.capeclear.com/download


        <?xml version="1.0" encoding="UTF-8"?>
        <SOAP-ENV:Envelope
            xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
            xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:ns0="http://www.justtesting.com/Untitled.xsd1">
            <SOAP-ENV:Body>
                <ns0:StringElement>Arg1</ns0:StringElement>
                <ns0:SampleElement>
                    <field1>Value1</field1>
                    <field2>Value2</field2>
                    <field3>Value3</field3>
                </ns0:SampleElement>
                <ns0:StringElement>Arg3</ns0:StringElement>
            </SOAP-ENV:Body>
        </SOAP-ENV:Envelope>



        <?xml version="1.0" encoding="UTF-8"?>
        <definitions
            name="Sample"
            targetNamespace="http://www.justtesting.com/formarionm59.wsdl"
            xmlns="http://schemas.xmlsoap.org/wsdl/"
            xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
            xmlns:tns="http://www.justtesting.com/formarionm59.wsdl"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:xsd1="http://www.justtesting.com/Untitled.xsd1">
            <types>
                <xsd:schema
                    targetNamespace="http://www.justtesting.com/Untitled.xsd1"
                    xmlns="http://schemas.xmlsoap.org/wsdl/"
                    xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
                    <xsd:element name="SampleElement">
                        <xsd:complexType>
                            <xsd:sequence>
                                <xsd:element maxOccurs="1" minOccurs="1"
        name="field1" type="xsd:string"/>
                                <xsd:element maxOccurs="1" minOccurs="1"
        name="field2" type="xsd:string"/>
                                <xsd:element maxOccurs="1" minOccurs="1"
        name="field3" type="xsd:string"/>
                            </xsd:sequence>
                        </xsd:complexType>
                    </xsd:element>
                    <xsd:element name="StringElement" type="xsd:string"/>
                </xsd:schema>
            </types>
            <message name="RequestMessage">
                <part element="xsd1:StringElement" name="arg1"/>
                <part element="xsd1:SampleElement" name="arg2"/>
                <part element="xsd1:StringElement" name="arg3"/>
            </message>
            <message name="ResponseMessage">   </message>
            <portType name="UntitledPortType">
                <operation name="SampleOperation">
                    <input message="tns:RequestMessage"/>
                    <output message="tns:ResponseMessage"/>
                </operation>
            </portType>
            <binding name="UntitledBinding" type="tns:UntitledPortType">
                <soap:binding style="document"
        transport="http://schemas.xmlsoap.org/soap/http"/>
                <operation name="SampleOperation">
                    <soap:operation

        soapAction="capeconnect:Sample:UntitledPortType#SampleOperation"
                        style="document"/>
                    <input>
                        <soap:body

        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

        namespace="http://www.justtesting.com/formarionm59/binding"
                            use="literal"/>
                    </input>
                    <output>
                        <soap:body

        encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

        namespace="http://www.justtesting.com/formarionm59/binding"
                            use="literal"/>
                    </output>
                </operation>
            </binding>
            <service name="Sample">
                <port binding="tns:UntitledBinding" name="UntitledPort">
                    <soap:address location="http://localhost:8000/ccx/Untitled"/>
                </port>
            </service>
        </definitions>


        -----Original Message-----
        From: marionm59 [mailto:marionm59@...]
        Sent: 27 August 2002 23:23
        To: wsdl@yahoogroups.com
        Subject: [wsdl] Doc/Literal impact on SOAP messages


        I'm having a hard time understanding how I should construct SOAP
        request messages when the WSDL describes an operation as document
        literal.  Could someone provide a wsdl and the corresponding soap
        request and response for an operation that's a little more complicated
        than hello world?  Also, is there documentation
        that describes this relationship in concrete terms?  thanks.



        -----------------------------------------------------------------
        This group is a forum for the discussion of the WSDL specification and its
        implementation.  Please stay on-topic.

        To unsubscribe from this group, send an email to:
        wsdl-unsubscribe@yahoogroups.com



        Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/



        -----------------------------------------------------------------
        This group is a forum for the discussion of the WSDL specification and its implementation.  Please stay on-topic.

        To unsubscribe from this group, send an email to:
        wsdl-unsubscribe@yahoogroups.com



        Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


        -----------------------------------------------------------------
        This group is a forum for the discussion of the WSDL specification and its implementation.  Please stay on-topic.

        To unsubscribe from this group, send an email to:
        wsdl-unsubscribe@yahoogroups.com



        Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


        -----------------------------------------------------------------
        This group is a forum for the discussion of the WSDL specification and its implementation.  Please stay on-topic.

        To unsubscribe from this group, send an email to:
        wsdl-unsubscribe@yahoogroups.com



        Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
      Your message has been successfully submitted and would be delivered to recipients shortly.