一、WebLogic Server
1、部署samples下面的mtom
ant war
部署后出现的问题通过这个来解决
http://yulimin.javaeye.com/blog/129015
2、修改build.xml
首先:将
http://localhost:7001/mtom/services/mtom?wsdl 文件另存为
mtom_xop_weblogic.wsdl
修改build.xml中的generate.code的target中的file为mtom_xop_weblogic.wsdl,如下:
<target name="generate.code">
<echo level="info" message="Generating code using
wsdl2java..."/>
<wsdl2java file="mtom_xop_weblogic.wsdl"/>
</target>
修改build.xml中的client的target中的param1为
http://localhost:7001/mtom/services/
mtom?wsdl,如下:
<target name="client" description="run demo client"
depends="build">
<copy toFile="${build.classes.dir}/me.bmp" file="${basedir}/
src/demo/mtom/client/me.bmp"/>
<property name="param" value=""/>
<cxfrun classname="demo.mtom.client.Client"
param1="
http://localhost:7001/mtom/services/mtom?wsdl"
param2="${op}"
param3="${param}"/>
</target>
修改build.xml中的client-servlet的target中的param1为
http://localhost:7001/mtom/
services/mtom?wsdl,如下:
<target name="client-servlet" description="run demo client hitting
servlet" depends="build">
<property name="param" value=""/>
<cxfrun classname="demo.mtom.client.Client" param1="http://
localhost:7001/mtom/services/mtom?wsdl" param2="${op}"/>
</target>
3、运行 ant client 或 ant client-servlet
均出错:
client:
[java]
http://localhost:7001/mtom/services/mtom?wsdl
[java] Filesize of me.bmp image is: 3888054
[java] Starting MTOM Test using basic byte array:
[java] --Sending the me.bmp image to server
[java] --Sending a name value of Sam
[java] Exception in thread "main"
javax.xml.ws.soap.SOAPFaultException: charsetName
[java] at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:
175)
[java] at $Proxy27.testByteArray(Unknown Source)
[java] at demo.mtom.client.Client.main(Client.java:90)
[java] Caused by: org.apache.cxf.binding.soap.SoapFault:
charsetName
[java] at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:
70)
[java] at
org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:
35)
[java] at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
207)
[java] at
org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:
90)
[java] at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:
179)
[java] at
org.apache.cxf.binding.soap.interceptor.ReadHeadersInterceptor.handleMessage(ReadHeadersInterceptor.java:
56)
[java] at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
207)
[java] at
org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:402)
[java] at org.apache.cxf.transport.http.HTTPConduit
$WrappedOutputStream.handleResponse(HTTPConduit.java:1948)
[java] at org.apache.cxf.transport.http.HTTPConduit
$WrappedOutputStream.close(HTTPConduit.java:1791)
[java] at
org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:
66)
[java] at
org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:575)
[java] at org.apache.cxf.interceptor.MessageSenderInterceptor
$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:
62)
[java] at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:
207)
[java] at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254)
[java] at
org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:205)
[java] at
org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
[java] at
org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:
135)
[java] ... 2 more
[java] Java Result: 1
先把问题整理了出来,正在想法办解决当中,有解决过这个问题的请Share你的解决方法。谢谢。