我想使用wsdl创建一个SOAPUI项目。
这是我的代码:
File projectFile =new File("Test/sampleURI-soapui-project");
SoapUI.setSoapUICore(new StandaloneSoapUICore(true));
WsdlProject project = new WsdlProject("sampleURI");
WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "http://192.168.18.171/sample/api/v2_soap/?wsdl");
for(int j=0;j<wsdls.length;j++){
WsdlInterface wsdl = wsdls[j];
String soapVersion = wsdl.getSoapVersion().toString();
int c = wsdl.getOperationCount();
String reqContent="";
String result="";
for(int i=0;i<c;i++){
WsdlOperation op = (WsdlOperation) wsdl.getOperationAt(i);
String opName = op.getName();
reqContent = op.createRequest(true);
WsdlRequest req = op.addNewRequest("Req_"+soapVersion+"_"+opName);
}
}
我收到以下错误:
警告[SoapUI]缺少外部库的文件夹[D:\ EclipsePrograms \ kepler-workspace \ Test。\ ext] 线程“main”中的异常java.lang.NoSuchMethodError:org.apache.xmlbeans.XmlBeans.typeSystemForClassLoader(Ljava / lang / ClassLoader; Ljava / lang / String;)Lorg / apache / xmlbeans / SchemaTypeSystem; 在com.eviware.soapui.config.SoapuiSettingsDocumentConfig。(未知来源) 在com.eviware.soapui.config.SoapuiSettingsDocumentConfig $ Factory.parse(未知来源) 在com.eviware.soapui.DefaultSoapUICore.initSettings(DefaultSoapUICore.java:211) 在com.eviware.soapui.SwingSoapUICore.initSettings(SwingSoapUICore.java:118) 在com.eviware.soapui.DefaultSoapUICore.init(DefaultSoapUICore.java:142) 在com.eviware.soapui.StandaloneSoapUICore。(StandaloneSoapUICore.java:37) 在sampleSoap.main(sampleSoap.java:20)
我错过了什么jar文件来解决这个问题?。非常感谢。
答案 0 :(得分:1)
这个typeSystemForClassLoader
方法是在xbean 2.0.0之后引入的。使用更大的版本(2.1.0)来解决这个问题。比较2个版本的javadoc
<dependency>
<groupId>xmlbeans</groupId>
<artifactId>xbean</artifactId>
<version>2.1.0</version>
</dependency>
答案 1 :(得分:0)
我有同样的例外。使用 SoapUI Pro 后,问题就解决了。
您现在可以试用2周的SoapUI Pro试用版。 刚刚导入了新的SoapUI.jar,效果很好。