Wie test-webservice / WSDL

Habe ich generiert diese WSDL-Datei...

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.6 in JDK 6. -->
<definitions targetNamespace="http://math/" name="MathServicesService" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://math/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <xsd:schema>
      <xsd:import namespace="http://math/" schemaLocation="MathServicesService_schema1.xsd"/>
    </xsd:schema>
  </types>
  <message name="addTwoInts">
    <part name="parameters" element="tns:addTwoInts"/>
  </message>
  <message name="addTwoIntsResponse">
    <part name="parameters" element="tns:addTwoIntsResponse"/>
  </message>
  <message name="multiplyTwoFloats">
    <part name="parameters" element="tns:multiplyTwoFloats"/>
  </message>
  <message name="multiplyTwoFloatsResponse">
    <part name="parameters" element="tns:multiplyTwoFloatsResponse"/>
  </message>
  <portType name="MathServices">
    <operation name="addTwoInts">
      <input message="tns:addTwoInts"/>
      <output message="tns:addTwoIntsResponse"/>
    </operation>
    <operation name="multiplyTwoFloats">
      <input message="tns:multiplyTwoFloats"/>
      <output message="tns:multiplyTwoFloatsResponse"/>
    </operation>
  </portType>
  <binding name="MathServicesPortBinding" type="tns:MathServices">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
    <operation name="addTwoInts">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
    <operation name="multiplyTwoFloats">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="literal"/>
      </input>
      <output>
        <soap:body use="literal"/>
      </output>
    </operation>
  </binding>
  <service name="MathServicesService">
    <port name="MathServicesPort" binding="tns:MathServicesPortBinding">
      <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
    </port>
  </service>
</definitions>

dieser Klasse...

package math;

import javax.jws.WebService;

@WebService
public class MathServices {

    public int addTwoInts(int int1, int int2){
        return int1+int2;
    }

    public float multiplyTwoFloats(float float1, float float2){
        return float1 * float2;
    }
}

Wie kann ich testen, um zu sehen, ob dieses webservice funktioniert einwandfrei mit dem WSDL? Ich verstehe nicht, wie die Funktionalität (int1+int2 und float1*float2) übersetzt die XML-Daten. Alle sehe ich in der WSDL werden, was zu übersetzen mit Methode-Namen und Parameternamen. Ich sehe nicht, wo die Mathematik geht. :/

Sagte, Woher die Parameter kommen aus bei der Verwendung des webservice? Wie gehen Sie selbst mit Hilfe des webservice? Kann ich es einfach verwenden, durch meinen browser?

  • Sie sehen nicht die Mathematik, die in der WSDL, weil es keine gibt. Es ist nur eine formale Erklärung aller Funktionen, Parameter und return Typen. Es ist immer noch die Java-Programmcode, der die Mathematik in das backend.
  • Also, wie werden die Parameter übergeben, um den code? Offensichtlich bist du nicht berufen, die Methoden und die übergabe von Parametern direkt; Woher kommen Sie?
  • WSDL wird Ihnen sagen, alles, was ich gesagt und auch die konkrete Bindung, d.h. im Falle von HTTP, URLs und Methoden aufgerufen werden, und wo der Parameter übergeben wird. Ich bin nicht versuchen, Ihre Frage zu beantworten, es ist nur ein Hinweis auf WSDL-da Sie sagten, Sie waren auf der Suche für den code gibt.
InformationsquelleAutor Chris V. | 2011-10-24
Schreibe einen Kommentar