0
複雑なWSDL(複合型)のすべての入力要求パラメータと出力要求パラメータを次のように取得する方法がありますか? SOAPリクエストを生成することはできますが、パラメータのタイプを取得することはできません。誰でも助けてくれますか?入力パラメータ複雑なWSDLの名前と型式
import java.io.IOException;
import java.util.Map;
import org.apache.xmlbeans.XmlException;
import com.eviware.soapui.impl.WsdlInterfaceFactory;
import com.eviware.soapui.impl.wsdl.WsdlInterface;
import com.eviware.soapui.impl.wsdl.WsdlOperation;
import com.eviware.soapui.impl.wsdl.WsdlProject;
import com.eviware.soapui.impl.wsdl.WsdlRequest;
import com.eviware.soapui.model.iface.Operation;
import com.eviware.soapui.model.iface.Request.SubmitException;
import com.eviware.soapui.support.SoapUIException;
public class TestWsdl {
public static void main(String[] args) throws XmlException, IOException, SoapUIException, SubmitException {
try {
String wsdl = "https://secure.echosign.com/services/EchoSignDocumentService19?wsdl";
WsdlProject project = new WsdlProject();
WsdlInterface iface = WsdlInterfaceFactory.importWsdl(project, wsdl, true)[0];
Map<String, Operation> m = iface.getOperations();
for (Map.Entry<?, ?> entry : m.entrySet()) {
WsdlOperation operation = (WsdlOperation) entry.getValue();
WsdlRequest request = operation.addNewRequest("My request");
request.setTimeout("2000");
String requestContent = operation.createRequest(true);
request.setRequestContent(requestContent);
if("createUser".equalsIgnoreCase(operation.getBindingOperationName())){
System.out.println("REQUEST: " + requestContent +"\n\n");
}
}
System.exit(0);
} catch (Exception ex) {
}
}
}
SOAP応答:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:api="http://api.echosign" xmlns:dto="http://dto.api.echosign">
<soapenv:Header/>
<soapenv:Body>
<api:createUser>
<api:apiKey>?</api:apiKey>
<api:userInfo>
<!--Optional:-->
<dto:company>?</dto:company>
<!--Optional:-->
<dto:customField1>?</dto:customField1>
<!--Optional:-->
<dto:customField2>?</dto:customField2>
<!--Optional:-->
<dto:customField3>?</dto:customField3>
<!--Optional:-->
<dto:email>?</dto:email>
<!--Optional:-->
<dto:firstName>?</dto:firstName>
<!--Optional:-->
<dto:groupKey>?</dto:groupKey>
<!--Optional:-->
<dto:lastName>?</dto:lastName>
<!--Optional:-->
<dto:optIn>?</dto:optIn>
<!--Optional:-->
<dto:password>?</dto:password>
<!--Optional:-->
<dto:phone>?</dto:phone>
<!--Optional:-->
<dto:title>?</dto:title>
</api:userInfo>
</api:createUser>
</soapenv:Body>
</soapenv:Envelope>
私はJavaクラスを作成せずにオンザフライのソリューションを探しています。私はSOAPUIと同様の製品を作ることができれば完璧です。 –