用于从wsdl创建SOAP请求的Java代码

时间:2014-04-10 05:45:30

标签: java xml web-services soap wsdl

我需要为wsdl中的一个操作创建SOAP请求xml(使用wsdl url)。我从Web服务调用获得响应。我需要从此响应中获取一些值并将其添加到另一个Web服务Soap请求并再次执行Web服务调用。因此,为了将新值添加到soap请求中,我需要获取它的完整soap请求xml.So这就是为什么我问如何从wsdl获取soap请求xml。我不能使用SoapUI,因为它每次都是动态的,所以我需要写一个java代码。

我尝试使用类似下面的代码:

WsdlProject project = new WsdlProject(); 
WsdlInterface[] wsdls = WsdlImporter.importWsdl(project, "<wsdl url>"); 
WsdlInterface wsdl = wsdls[0]; 
for (Operation operation : wsdl.getOperationList()) { 
    WsdlOperation op = (WsdlOperation) operation; 
    System.out.println("OP:"+op.getName()); 
    System.out.println(op.createRequest(true)); 
    System.out.println("Response:"); 
    System.out.println(op.createResponse(true)); 
} 

但我得到了异常

  

java.lang.NoClassDefFoundError:org / fife / ui / rtextarea / RTextArea“in the line”WsdlProject project = new WsdlProject();

我导入了最新的jar(soapui-xmlbeans-4.5.0,wsdl-xmlbeans-1.1,soapui-4.5.0),但仍然抛出异常。任何人都可以“http://www.soapui.org/repository/eviware/”建议我如何纠正它?还有其他方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

尝试从http://www.java2s.com/Code/Jar/r/Downloadrsyntaxtextarea10jar.htm下载rsyntaxtextarea-1.0.jar将其添加到您的构建路径中。希望它有所帮助