我已經生成這個WSDL文件...如何測試如何測試看到一個Web服務/ WSDL
<?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>
從這個類...
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;
}
}
如果Web服務是工作正確使用WSDL?我不明白功能(int1+int2
和float1*float2
)如何轉換爲XML。我在WSDL中看到的所有內容都轉換爲方法名稱和參數名稱。我看不出數學在哪裏繼續。 :/
也就是說,使用webservice時參數來自哪裏?你甚至如何使用web服務?我可以通過我的瀏覽器使用它嗎?
你不會在WSDL中看到數學,因爲沒有。這只是對所有函數,參數和返回類型的正式聲明。它仍然是您的後端數學運算的Java代碼。 – stivlo
那麼參數如何傳遞給代碼呢?顯然你不是直接調用方法和傳遞參數;他們來自哪裏? –
WSDL將會告訴我之前說過的所有內容,也會說明具體的綁定,例如HTTP,URL和方法被調用以及參數傳遞的位置。我沒有試圖回答你的問題,因爲你說你在那裏尋找代碼,所以這只是關於WSDL的一個說明。 – stivlo