Announcement

Collapse
No announcement yet.

Frage zum Java Web Services Developer Pack (JWSDP)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Frage zum Java Web Services Developer Pack (JWSDP)

    Hallo,

    ich habe vorhin versucht, einen Webservice aufzusetzen (mit dem Tutorial http://www.theserverside.de/webservice-in-java/). Das ganze hat wirklich gut und auch äußerst einfach geklappt.

    Nun wollte ich den Webservice mal über seine URL ansteuern (á la http://localhost:8080/calculator?addValues&arg0).

    Es kommt aber immer nur die Fehlermeldung

    Web Services

    No JAX-WS context information available.
    Es scheint so, als ob die Methode addValues irgendwie nicht als Methode definiert wurde, die man über den HTTP-GET-Parameter (also über die URL) aufrufen kann, sondern nur per POST mit einem SOAP-Body. Oder ich habe einfach die falsche Notation eingegeben ;-)

    Kann mir hier jemand sagen, was ich falsch mache? Wie kann ich die Methode so anlegen, dass sie auch von außen angesprochen werden kann und nicht nur über ein SOAP-XML per HTTP-POST?

    Danke im Voraus!!

    Ciao The_Unknown

  • #2
    Was wird denn genau bei http://localhost:8080/calculator?wsdl ausgegeben?

    Comment


    • #3
      Code:
      <definitions targetNamespace="http://test.de/" name="calculator">
          <types/>
          <message name="addValues">
              <part name="arg0" type="xsd:int"/>
              <part name="arg1" type="xsd:int"/>
          </message>
          <message name="addValuesResponse">
              <part name="return" type="xsd:long"/>
          </message>
          <portType name="Calc">
              <operation name="addValues" parameterOrder="arg0 arg1">
                  <input message="tns:addValues"/>
                  <output message="tns:addValuesResponse"/>
              </operation>
          </portType>
          <binding name="CalcPortBinding" type="tns:Calc">
              <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
              <operation name="addValues">
                  <soap:operation soapAction=""/>
                  <input>
                      <soap:body use="literal" namespace="http://test.de/"/>
                  </input>
                  <output>
                      <soap:body use="literal" namespace="http://test.de/"/>
                  </output>
              </operation>
          </binding>
          <service name="calculator">
              <port name="CalcPort" binding="tns:CalcPortBinding">
                  <soap:address location="http://localhost:8080/calculator"/>
              </port>
          </service>
      </definitions>
      Wie gesagt, ich habe mich ganz strikt an den Standardfall des Tutorials gehalten.

      Oder kann es gar sein, dass der Aufruf über einen Browser gar keine Standardfunktionalität eines Webservices ist?

      Comment


      • #4
        Wie man auf Methoden des Webservice zugreift bzw. zugreifen soll, wird doch im Tutorial gezeigt. Der HTTP-GET-Aufruf ist auch in der WSDL-Datei nirgendwo spezifiziert, so weit ich die lesen kann. Ob/wie man mit den Java-Mitteln den Service so konfigurieren kann, dass auch ein HTTP-GET-Aufruf möglich ist, muss dir mal jemand anderes erzählen, der sich mit Java auskennt.

        Comment


        • #5
          Der Client-Aufruf geht ja auch. Nur der Aufruf über GET klappt nicht. Was müsste man denn in die WSDL schreiben, damit das funktioniert?

          Comment


          • #6
            Siehe http://www.w3.org/TR/wsdl#_http-e.

            Comment

            Working...
            X