Announcement Announcement Module
Collapse
No announcement yet.
literature and questions Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • literature and questions

    Hi,

    i want to learn more about top-down development and need information about writing WSDL documents. It would be nice if Spring-WS would provide a list of good links, tutorials or literature recommendation to learn WSDL.

    After i've wrote my WSDL file, what's the next step in Spring-WS to create a Web Service?
    • Does Spring-WS provides a Server-Skeletion Generator?
    • Does Spring-WS always need other technologies like Axis or XFire? Or has it his own SOAP-Stack?
    • Is Spring-WS somehow focused on web/html applications or is it neutral and also for fat clients?


    Cheers,

    Ingo

  • #2
    Originally posted by res1st
    i want to learn more about top-down development and need information about writing WSDL documents. It would be nice if Spring-WS would provide a list of good links, tutorials or literature recommendation to learn WSDL.
    That is a good idea, I will try and add some links to the main Spring-WS page. For starters here is a list which helped me on my way:

    Originally posted by res1st
    Does Spring-WS provides a Server-Skeletion Generator?
    Not yet. There are ideas for generating a Spring bean definition file from a wsdl. There is no way to generate a Java stub from a WSDL, for reasons I explained here.

    Originally posted by res1st
    Does Spring-WS always need other technologies like Axis or XFire? Or has it his own SOAP-Stack?
    It is based the central concept of a WebService, or the sub interface SoapMessage. Currently, there is only implementation for that interface: SaajSoapMessage, which is based on the SOAP with Attachments API for Java (SAAJ).

    So, no, you don't need any other dependencies. It is based on J2EE 1.4 standards.

    Originally posted by res1st
    Is Spring-WS somehow focused on web/html applications or is it neutral and also for fat clients?
    I am afraid I don't understand the question. Could you elaborate a bit?

    Thanks for the interest!

    Comment


    • #3
      Thank you very much for your answers!

      Is Spring-WS somehow focused on web/html applications or is it neutral and also for fat clients?
      I am afraid I don't understand the question. Could you elaborate a bit?
      You said in another post, that Spring-WS is "based on Spring-MVC". So i thought that Spring-WS is maybe strongly related to browser-applications.

      Comment


      • #4
        Originally posted by res1st
        You said in another post, that Spring-WS is "based on Spring-MVC". So i thought that Spring-WS is maybe strongly related to browser-applications.
        Ah, I see. What I meant was that the architecture and design are based on Spring-MVC. If you have ever used Spring-MVC, you will see a lot of similarities, and in the near future, you can even reuse the binding and validation code.

        But this is only on a design level. You don't need Spring-MVC to use Spring-WS, and it is not related to browser-apps at all.

        Comment


        • #5
          More links

          Here are some more links, courtesy of W3 Schools:

          In general, W3Schools is a great, pragmatic resource for learning anything about XML and related technologies.

          Comment


          • #6
            Thank you!
            You should add the links to the spring-ws homepage and/or to the documentation.

            Comment


            • #7
              forum

              I someone works with Spring-WS, he has to face WSDL problems (and maybe SOAP, WS-I, ... too).
              It would be nice to have a reference to other newsgroups or a forum which can help, because this problems are not directly Spring-WS related.

              For example, i doesn't understand why
              Code:
              <wsdl:message name="echoRequest">
                  <wsdl:part name="echoString" type="xsd:string" />
              </wsdl:message>
              isn't possible. Instead i have to write

              Code:
              <wsdl:message name="echoRequest">
                  <wsdl:part name="echoString" element="tns:echoRequest" />
              </wsdl:message>
              and
              <element name="echoRequest">
                  <complexType>
                      <sequence>
                          <element name="echoRequestInput" type="string"/>
                      </sequence>
                  </complexType>
              </element>
              Cheers,

              Ingo
              Last edited by res1st; May 31st, 2006, 09:16 AM.

              Comment


              • #8
                Originally posted by res1st
                Thank you!
                You should add the links to the spring-ws homepage and/or to the documentation.
                I've updated the Spring-WS home page to include the links I gave here. I've also added some forums which might help you. However, you can also use this forum for your SOAP and WSLD questions. I (and I think most visitors) are more than happy to answer them.

                Cheers,
                Last edited by Arjen Poutsma; May 31st, 2006, 09:41 AM.

                Comment


                • #9
                  Originally posted by res1st
                  I someone works with Spring-WS, he has to face WSDL problems (and maybe SOAP, WS-I, ... too).
                  It would be nice to have a reference to other newsgroups or a forum which can help, because this problems are not directly Spring-WS related.

                  For example, i doesn't understand why
                  Code:
                  <wsdl:message name="echoRequest">
                      <wsdl:part name="echoString" type="xsd:string" />
                  </wsdl:message>
                  isn't possible. Instead i have to write

                  Code:
                  <wsdl:message name="echoRequest">
                      <wsdl:part name="echoString" element="tns:echoRequest" />
                  </wsdl:message>
                  and
                  <element name="echoRequest">
                      <complexType>
                          <sequence>
                              <element name="echoRequestInput" type="string"/>
                          </sequence>
                      </complexType>
                  </element>
                  In general, it can be considered a "best practice" to separate your WSDL from your schema. Your WSDL contains the Service contract: where to invoke certain operations. Your XSD schema contains the Data contract: what data to send. By using a direct xsd:string in your WSDL, you are basically mixing service and data contract in one, and SOAP API's don't like that.

                  Seperating WSDL from XSD does not necessarily mean that you have create two files (though it makes life easier), it just means that within your <wsdlart/> elements, you refer to an element you defined in the <wsdl:types/> section. Another nice feature of using separate files is that you can use the spring-ws PayloadValidatingInterceptor to validate response and request.

                  In all, I think it's best to focus on your schema: define what XML messages you accept and send. When you have defined your messages, add them to a WSDL as operations, and define a service around that.

                  Comment


                  • #10
                    In general, it can be considered a "best practice" to separate your WSDL from your schema. Your WSDL contains the Service contract: where to invoke certain operations. Your XSD schema contains the Data contract: what data to send. By using a direct xsd:string in your WSDL, you are basically mixing service and data contract in one, and SOAP API's don't like that.
                    You are right, that sounds logical.
                    Note: If you doesn't want to be such a fool like me , you can also use the following code, which is much shorter.
                    Code:
                    <wsdl:message name="echoRequest">
                        <wsdl:part name="echoString" element="tns:echoRequest" />
                    </wsdl:message>
                    and
                    <element name="echoRequest" type="string"/>
                    Ingo

                    Comment


                    • #11
                      Originally posted by res1st
                      You are right, that sounds logical.
                      Note: If you doesn't want to be such a fool like me , you can also use the following code, which is much shorter.
                      Code:
                      <wsdl:message name="echoRequest">
                          <wsdl:part name="echoString" element="tns:echoRequest" />
                      </wsdl:message>
                      and
                      <element name="echoRequest" type="string"/>
                      Good, you are getting the hang of this now . Note that there is also a XSD tutorial available on W3Schools. And I've found this book to be quite valuable.

                      Comment

                      Working...
                      X