我在Jboss 7和Weblogic 12上运行应用程序,当我在weblogic上进行soap调用时比jboss更具限制性。我的客户端接口必须实现wsdl的所有方法,方法和参数的注释和返回类型必须完全相同。 Jboss更宽容。 有没有办法为soap调用实现一个简单的通用客户端而不必实现在Weblogic上运行的wsdl的所有方法?只是用我需要的方法?
在我的具体情况下,我实现了一个简单的客户端,只调用ws的一个方法(返回类型为void,我不需要/想要实现的结构)返回对象和我的界面没有实现wsdl的所有方法,在weblogic下我收到以下错误:
com.sun.xml.ws.api.wsdl.parser.WSDLParserExtensionContext.getWSDLModel()LCOM /太阳/ XML / WS / API /模型/ WSDL /编辑/ EditableWSDLModel; java.lang.NoSuchMethodError: com.sun.xml.ws.api.wsdl.parser.WSDLParserExtensionContext.getWSDLModel()LCOM /太阳/ XML / WS / API /模型/ WSDL /编辑/ EditableWSDLModel; 在weblogic.wsee.jaxws.framework.policy.WSDLParserExtension.definitionsElements(WSDLParserExtension.java:541)
答案 0 :(得分:0)
我决定使用SAAJ
我按照这个例子http://www.concretepage.com/webservices/java-saaj-web-service-example
但在我的pom中,我不得不将javaee-api版本从6.0更改为7.0
TridentTopology topology = new TridentTopology();
TridentState wordCounts =
topology.newStream("spout1", spout)
.each(new Fields("sentence"), new Split(), new Fields("word"))
.groupBy(new Fields("word"))
.persistentAggregate(new MemoryMapState.Factory(), new Count(), new Fields("count"))
.parallelismHint(6);
我试图遵循这个建议
Maven tests troubles with SOAP having Java EE 6 dependency
但解决方案对我不起作用