- 配置文件 相关部分
- <bean id="txProxyTemplate2" lazy-init="true" abstract="true"
- class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
- <property name="transactionManager">
- <ref bean="transactionManager1" />
- </property>
- <property name="transactionAttributes">
- <props>
- <prop key="exe*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
- </prop>
- <prop key="insert*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
- </prop>
- <prop key="update*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
- </prop>
- <prop key="del*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
- </prop>
- <prop key="add*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
- </prop>
- <prop key="remove*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-Exception
- </prop>
- <prop key="save*">
- PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-FailException
- </prop>
- <prop key="do*">
- PROPAGATION_REQUIRED,-FailException
- </prop>
- <prop key="*">
- PROPAGATION_SUPPORTS,readOnly,ISOLATION_DEFAULT,-Exception
- </prop>
- </props>
- </property>
- </bean>
- <bean id="ffManager" parent="txProxyTemplate2">
- <property name="target">
- <bean
- class="cn.net.withub.xfgl.sdyb.ff.bo.FfManagerImpl">
- <property name="ffDao">
- <ref bean="ffDao" />
- </property>
- <property name="sdybClientManager">
- <ref bean="sdybClientManager"/>
- </property>
- </bean>
- </property>
- </bean>
- <bean id="sdybClientManager" class="cn.net.withub.xfgl.sdyb.webService.client.bo.Imp.SdybClientManagerImp">
- <property name="jdbcTool">
- <ref bean="jdbcTool"/>
- </property>
- <property name="daoTool">
- <ref bean="daoTool"/>
- </property>
- </bean>
- // xfire 配置文件
- <bean
- class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
- <property name="urlMap">
- <map>
- <!-- 配置 service 名称和 Service Bean -->
- <entry key="/xfgl">
- <ref bean="xfglws" />
- </entry>
- </map>
- </property>
- </bean>
- <bean id="xfglws"
- class="org.codehaus.xfire.spring.remoting.XFireExporter">
- <property name="serviceFactory">
- <ref bean="xfire.serviceFactory" />
- </property>
- <property name="xfire">
- <ref bean="xfire" />
- </property>
- <property name="serviceBean">
- <ref bean="xfSdybService" />
- </property>
- <property name="serviceClass">
- <value>cn.net.withub.xfgl.sdyb.webService.service.XfSdybService</value>
- </property>
- </bean>
- http://149.0.12.206:8181/xfgl/xfireServices/xfgl?wsdl 运行这个能出来 xml的东西
- // 客户端class
- package cn.net.withub.xfgl.sdyb.webService.client;
- import java.net.MalformedURLException;
- import java.net.URL;
- import org.codehaus.xfire.client.Client;
- public class CallXfglWebService {
- URL ServerUrl = null;
- public String sendESBMessage(String method,String webServiceURL, Object xmlStr[]) {
- try {
- ServerUrl = new URL(webServiceURL);
- } catch (MalformedURLException e1) {
- e1.printStackTrace();
- }
- Client client = null;
- Object[] returnMessage = null;
- try {
- client = new Client(ServerUrl);
- System.out.println("gyyguhhh======"+ServerUrl);
- returnMessage = client.invoke(method, xmlStr); // 就是这里了,抛异常了 空指针
- } catch (Exception e) {
- e.printStackTrace();
- }
- String receiveMessage = null;
- if (returnMessage.length > 0) {
- receiveMessage = (String) returnMessage[0];
- System.out.println("back method="+method+"value="+receiveMessage);
- }
- return receiveMessage;
- }
- }
异常情况:
java 代码
- org.codehaus.xfire.fault.XFireFault: Fault: java.lang.NullPointerException
- at org.codehaus.xfire.fault.XFireFault.createFault(XFireFault.java:89)
- at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:83)
- at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:114)
- at org.codehaus.xfire.client.Client.invoke(Client.java:336)
- at org.codehaus.xfire.client.Client.invoke(Client.java:368)
- at cn.net.withub.xfgl.sdyb.webService.client.CallXfglWebService.sendESBMessage(CallXfglWebService.java:23)
- at cn.net.withub.xfgl.sdyb.webService.client.bo.Imp.SdybClientManagerImp.sdybFa(SdybClientManagerImp.java:94)
- at cn.net.withub.xfgl.sdyb.ff.bo.FfManagerImpl.sendByFsfs(FfManagerImpl.java:44)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:585)
- at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:335)
- at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:181)
- at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:148)
- at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
- at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:170)
- at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:176)
- at $Proxy19.sendByFsfs(Unknown Source)
- at cn.net.withub.xfgl.sdyb.ff.action.FfAction.sendAction(FfAction.java:36)
- at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
- at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
- at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
- at java.lang.reflect.Method.invoke(Method.java:585)
- at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:274)
- at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:194)
- at org.springframework.web.struts.DelegatingActionProxy.execute(DelegatingActionProxy.java:106)
- at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
- at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
- at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
- at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
- at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
- at withub.com.filter.SessionInvalidatedFilter.doFilter(SessionInvalidatedFilter.java:41)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
- at com.bstek.dorado.core.FilterHandle.c(Unknown Source)
- at com.bstek.dorado.core.FilterHandle.doFilter(Unknown Source)
- at com.bstek.dorado.core.DoradoFilter.doFilter(Unknown Source)
- at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
- at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
- at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
- at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
- at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
- at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
- at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
- at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
- at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
- at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
- at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
- at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
- at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
- at java.lang.Thread.run(Thread.java:595)
- Caused by: java.lang.NullPointerException
- at org.codehaus.xfire.aegis.type.basic.ObjectType.writeObject(ObjectType.java:192)
- at org.codehaus.xfire.aegis.AegisBindingProvider.writeParameter(AegisBindingProvider.java:229)
- at org.codehaus.xfire.service.binding.AbstractBinding.writeParameter(AbstractBinding.java:273)
- at org.codehaus.xfire.service.binding.WrappedBinding.writeMessage(WrappedBinding.java:90)
- at org.codehaus.xfire.soap.SoapSerializer.writeMessage(SoapSerializer.java:80)
- at org.codehaus.xfire.transport.http.HttpChannel.writeWithoutAttachments(HttpChannel.java:56)
- at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.getByteArrayRequestEntity(CommonsHttpMessageSender.java:422)
- at org.codehaus.xfire.transport.http.CommonsHttpMessageSender.send(CommonsHttpMessageSender.java:360)
- at org.codehaus.xfire.transport.http.HttpChannel.sendViaClient(HttpChannel.java:123)
- at org.codehaus.xfire.transport.http.HttpChannel.send(HttpChannel.java:48)
- at org.codehaus.xfire.handler.OutMessageSender.invoke(OutMessageSender.java:26)
- at org.codehaus.xfire.handler.HandlerPipeline.invoke(HandlerPipeline.java:131)
- at org.codehaus.xfire.client.Invocation.invoke(Invocation.java:79)
- ... 53 more