是否有辦法使用Java列出wsdl url(通過指定結束點而不是來自xml)的所有操作?使用Java從wsdl url中列出所有操作(請求)
下面是一個示例端點。 http://www.webservicemart.com/uszip.asmx?WSDL
請幫忙。
是否有辦法使用Java列出wsdl url(通過指定結束點而不是來自xml)的所有操作?使用Java從wsdl url中列出所有操作(請求)
下面是一個示例端點。 http://www.webservicemart.com/uszip.asmx?WSDL
請幫忙。
您可以使用XPath搶標籤: XPath Syntax
<wsdl:binding name="USZipSoap" type="tns:USZipSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="ValidateZip">
<soap:operation soapAction="http://webservicemart.com/ws/ValidateZip" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
使用XPath表達式:
//wsdl:operation
應該回到你的所有節點。對於Java的xpath庫將是Jaxen
我希望能幫助你進一步。
感謝 帕特里克
謝謝帕特里克。但我只想指定終點,我不想給wsdl/xml。只需指定wsdl url,我可以實現這一目標嗎? – Mike
可以使用Eviware那樣/ soapUI的的API爲。
您可以使用指定的WSDL創建一個接口,然後使用它來獲取操作。
int operationCount = wsdlInterface.getOperationCount();
for (int i = 0; i < operationCount; i++){
WsdlOperation wsdlOperation = wsdlInterface.getOperationAt(i);
String operationName = wsdlOperation.getName();
// you can use this name, add to an arraylist etc.
allOperations.add(wsdlOperation);
WsdlTestCase testCase = generateTestCase(wsdlTestSuite, operationName);
WsdlTestStep testStep = generateTestStep(wsdlOperation, testCase, operationName);
}
文檔放在這裏:
看看這個鏈接:https://groups.google.com/forum/?fromgroups=#!topic/soa-model/OKQBRoY9H8I – tokhi