Java Web服务(服务器-客户端)。服务器使用外部项目

Java Web服务(服务器-客户端)。服务器使用外部项目,java,web-services,client,server,informix,Java,Web Services,Client,Server,Informix,我正在使用具有以下结构的Web服务: 服务器: @WebService @HandlerChain(file="handler-chain.xml") @XmlRootElement public class RDA_DenegarRenovacion{ HashMapWrapper map = new HashMapWrapper(); @WebMethod public String getServerName() { return "RDA - DenegarProp

我正在使用具有以下结构的Web服务:

服务器:

@WebService @HandlerChain(file="handler-chain.xml") @XmlRootElement 

public class RDA_DenegarRenovacion{

HashMapWrapper map =  new HashMapWrapper();


@WebMethod
public String getServerName() {

    return "RDA - DenegarPropuesta";

}

@WebMethod(operationName="pc_ren_propuesta")
@WebResult(name="hashMapWrapper")

public HashMapWrapper pc_ren_propuesta() {

    HashMap<String,String> realMap = new HashMap<String,String>();
    realMap.put("jaja1", "jeje1");
    realMap.put("jaja2", "jeje2");
    map.setRealMap(realMap);

    //I JUST DECLARE THE FACADE AND SERVICE FROM THE IMPORTED PROJECT, 
    //BUT I'M NOT USING THEM YET
    CommonFacade commonFacade = new CommonFacade();
    CommonDataService service = (CommonDataService) commonFacade.commonDataService;


    return map;
}
@WebService@HandlerChain(file=“HandlerChain.xml”)@XmlRootElement
公共级RDA_DenegarRenovacion{
HashMapWrapper map=新的HashMapWrapper();
@网络方法
公共字符串getServerName(){
返回“RDA-Denegarpopuesta”;
}
@WebMethod(operationName=“pc_ren_propuesta”)
@WebResult(name=“hashMapWrapper”)
公共HashMapWrapper pc_ren_propuesta(){
HashMap realMap=新的HashMap();
realMap.put(“jaja1”、“jeje1”);
realMap.put(“jaja2”、“jeje2”);
setRealMap(realMap);
//我只声明导入项目的外观和服务,
//但我还没用呢
CommonFacade CommonFacade=新的CommonFacade();
CommonDataService服务=(CommonDataService)commonFacade.CommonDataService;
返回图;
}
在服务器方法中,我只访问同一工作区中的另一个java项目(声明facade和service)

为了从另一个项目声明类,我配置了buildpath,还添加了jar commons-discovery-0.2,因为如果没有,我会得到错误:

线程“main”java.lang.NoClassDefFoundError中出现异常:org/apache/commons/discovery/tools/DiscoverSingleton 位于com.ibm.ws.webservices.engine.components.logger.LogFactory$2.run(LogFactory.java:144) 位于com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:63) 位于com.ibm.ws.webservices.engine.components.logger.LogFactory.createLogFactory(LogFactory.java:140) 位于com.ibm.ws.webservices.engine.components.logger.LogFactory.(LogFactory.java:97) 位于com.ibm.ws.webservices.engine.xmlsoap.Utils.(Utils.java:49) 位于com.ibm.ws.webservices.engine.soap.MessageFactoryImpl.(MessageFactoryImpl.java:116) 位于com.ibm.ws.webservices.engine.soap.SAAJMetaFactoryImpl.newMessageFactory(SAAJMetaFactoryImpl.java:56) 位于javax.xml.soap.MessageFactory.newInstance(未知源) 位于com.sun.xml.internal.ws.api.SOAPVersion。(来源未知) 位于com.sun.xml.internal.ws.api.SOAPVersion。(来源未知) 位于com.sun.xml.internal.ws.api.BindingID。(未知源) 位于com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishindPoint(未知源) 位于javax.xml.ws.Endpoint.publish(未知源) 位于RDA_DenegarRenovacion.publisher.WsPublisher.main(WsPublisher.java:14) 原因:java.lang.ClassNotFoundException:org.apache.commons.discovery.tools.discoveringleton 位于java.net.URLClassLoader$1.run(未知源) 位于java.security.AccessController.doPrivileged(本机方法) 位于java.net.URLClassLoader.findClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) 位于sun.misc.Launcher$AppClassLoader.loadClass(未知源) 位于java.lang.ClassLoader.loadClass(未知源) …还有14个

通过所有这些,我发布了服务器部件,在运行客户机时,由于我添加了外部jar,我得到了以下错误:

线程“main”javax.xml.ws.soap.SOAPFaultException:层次结构\u请求\u错误:尝试在不允许的位置插入节点。 位于com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(未知源) 位于com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(未知源) 位于com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(未知源) 位于com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(未知源) 位于com.sun.xml.internal.ws.client.sei.SEIStub.invoke(未知源) 价格为$Proxy29.pcRenPropuesta(来源不明) 位于rda_denegarrenovacion.client.WsClient.main(WsClient.java:21)

如果我没有从另一个项目中声明任何类,也没有导入任何jar,那么它就可以正常工作

摘要:

我需要以下信息

客户端-->服务器-->Informix Java项目-->服务器-->客户端

我在访问Informix Java项目时遇到问题

提前谢谢

问题解决了

我设置了JAVA_HOME和Path变量,并添加了外部wsgen jar。重新启动计算机后,它工作了。

问题解决了

我设置了JAVA_HOME和Path变量,并添加了外部wsgen jar。重新启动计算机后,它工作了