您的位置:首页 > 其它

weblogic上部署CXF系统问题客户端

2014-08-26 16:21 148 查看
服务端环境:Weblogic 11g

CXF 2.6

JDK1.6

Tomcat下部署客户端调用正常

客户端调用代码:

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;

import com.yilz.his.common.jsonxml.ObjectToJson;

import com.yilz.his.framework.services.webservice.ICxfWebservice;

public class CxfClient{

private static String url="http://10.16.3.59:7002/app/ws/cxfWebservice?wsdl";

public static void main(String[] args) {

testConnection();

}

/**

* 连接测试代码

*

* @author tangxiaojuan 2013-10-28

*/

public static void testConnection(){

JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();

factoryBean.setServiceClass(ICxfWebservice.class);

//发布WEB服务方式http://localhost:8089/com.ylz.webservice/webservice/readerService

factoryBean.setAddress(url);

ICxfWebservice readerService2 = (ICxfWebservice)factoryBean.create();

CxfInputDataDTO cxfInputData = new CxfInputDataDTO();

String test = readerService2.doTestConnect();

System.out.println(test);

}

}

异常:

2014-8-26 16:27:26 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass

信息: Creating Service {http://webservice.services.framework.his.yilz.com/}ICxfWebserviceService from class com.yilz.his.framework.services.webservice.ICxfWebservice

2014-8-26 16:27:30 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging

警告: Interceptor for {http://webservice.services.framework.his.yilz.com/}ICxfWebserviceService#{http://webservice.services.framework.his.yilz.com/}doTestConnect has thrown exception, unwinding now

org.apache.cxf.interceptor.Fault: Unmarshalling Error: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>

at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:872)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:693)

at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)

at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:110)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:835)

at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1704)

at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1537)

at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1445)

at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:660)

at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)

at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)

at $Proxy39.doTestConnect(Unknown Source)

at src.com.start.hessian.client.CxfWebserviceTest.testConnection(CxfWebserviceTest.java:43)

at src.com.start.hessian.client.CxfWebserviceTest.main(CxfWebserviceTest.java:23)

Caused by: javax.xml.bind.UnmarshalException

- with linked exception:

[javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>]

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:396)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:335)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:312)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:833)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:101)

at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:861)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:859)

... 21 more

Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:556)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:199)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:194)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:71)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:65)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.childElement(StructureLoader.java:209)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:399)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:380)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:238)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:172)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:333)

... 27 more

Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>

... 38 more

Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unmarshalling Error: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:158)

at $Proxy39.doTestConnect(Unknown Source)

at src.com.start.hessian.client.CxfWebserviceTest.testConnection(CxfWebserviceTest.java:43)

at src.com.start.hessian.client.CxfWebserviceTest.main(CxfWebserviceTest.java:23)

Caused by: javax.xml.bind.UnmarshalException

- with linked exception:

[javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>]

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:396)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:335)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:312)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.doUnmarshal(JAXBEncoderDecoder.java:833)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.access$100(JAXBEncoderDecoder.java:101)

at org.apache.cxf.jaxb.JAXBEncoderDecoder$2.run(JAXBEncoderDecoder.java:861)

at java.security.AccessController.doPrivileged(Native Method)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:859)

at org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:693)

at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:157)

at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:110)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:835)

at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:1704)

at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:1537)

at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1445)

at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56)

at org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:660)

at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)

at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)

at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:565)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:474)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:377)

at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:330)

at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)

at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:136)

... 3 more

Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.handleEvent(UnmarshallingContext.java:556)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:199)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportError(Loader.java:194)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.reportUnexpectedChildElement(Loader.java:71)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.Loader.childElement(Loader.java:65)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.childElement(StructureLoader.java:209)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:399)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:380)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.handleStartElement(StAXStreamConnector.java:238)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:172)

at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:333)

... 27 more

Caused by: javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"_return"). Expected elements are <{}return>

... 38 more

修改客户端调用代码:

import java.net.MalformedURLException;

import java.net.URL;

import javax.xml.namespace.QName;

import javax.xml.ws.Service;

public class CxfClient {

private static final QName SERVICE_NAME = new QName("http://webservice.services.framework.his.yilz.com/", "cxfWebservice");

private static final QName PORT_NAME = new QName("http://webservice.services.framework.his.yilz.com/", "CxfWebservicePort");

private static final String WSDL_LOCATION = "http://10.16.3.59:7002/com.ylz.his/ws/cxfWebservice?wsdl";

public static void main(String args[]) throws Exception {

testConnect();

}

private static void testConnect(){

try {

URL wsdlURL = new URL(WSDL_LOCATION);

Service service = Service.create(wsdlURL, SERVICE_NAME);

ICxfWebservice port = service.getPort(PORT_NAME, ICxfWebservice.class);

String result = port.doTestConnect();

System.out.println( result);

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

测试结果:

连接成功!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: