动态调用Web服务而不从Jax-ws Web服务创建任何工件

时间:2009-09-11 04:19:28

标签: jax-ws

您好我有这个问题,我试图从我的Jax-WS Web服务动态调用Web服务。 我尝试用玻璃鱼,它工作正常。 但现在我回到了阿帕奇,它正在给我一个例外

javax.xml.rpc.ServiceException:java.lang.ClassNotFoundException:org.apache.axis.client.ServiceFactory

**注意:我添加了** jaxrpc.iar ****

代码如下所示:

enter code here
    ServiceFactory factory = ServiceFactory.newInstance();

  Service service = factory.createService(serviceName);


call = service.createCall();


QName operationName = new QName(TargetNamesSpace,strOperationName,"");

call.setOperationName(operationName);


call.addParameter(
    "arg0",                 // parameter name
    XMLType.XSD_LONG,       // parameter XML type QName
    Long.class,             // parameter Java type class
    ParameterMode.IN);      // parameter mode
//  set the the return type.

call.setReturnType(XMLType.XSD_DOUBLE);

//call.setProperty( Call.OPERATION_STYLE_PROPERTY,"");



call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"");

call.setTargetEndpointAddress(endpoint);


Object[] actualArgs={entityId};

Double computedRating =(Double)call.invoke(operationName,actualArgs);

我有一个疑问,服务器更改有什么不同,因为当我在glassfish上尝试这个时,我没有添加任何jar。

谢谢。:)

2 个答案:

答案 0 :(得分:0)

尝试添加commons-discovery-0.2.jar和axis.jar,可以在eclipse中找到插件

答案 1 :(得分:0)

有时玻璃鱼可能会与tomcat端口地址冲突,从而关闭netbeans并刷新然后在Tomcat Server中打开你的项目或关闭端口或更改tomcat服务器的端口地址。