0 0

webservice调用是报错java.lang.reflect.InvocationTargetException20

调用webservice时候遇到错误,错误如下:
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: java.lang.reflect.InvocationTargetException
 faultActor: 
 faultNode: 
 faultDetail: 
	{http://xml.apache.org/axis/}hostname:tbpm

java.lang.reflect.InvocationTargetException
	at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
	at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
	at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
	at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
	at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
	at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
	at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
	at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
	at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
	at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
	at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
	at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
	at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
	at org.apache.axis.client.Call.invoke(Call.java:2767)
	at org.apache.axis.client.Call.invoke(Call.java:2443)
	at org.apache.axis.client.Call.invoke(Call.java:2366)
	at org.apache.axis.client.Call.invoke(Call.java:1812)
	at com.mocha.budget.webServiceBudget.impl.BudgetWebServiceHRImplSoapBindingStub.userLoanQuery(BudgetWebServiceHRImplSoapBindingStub.java:106)
	at com.test.Test.main(Test.java:20)


具体问题是这样的:
1. 我在项目A中写好了webservice,并用eclipse生成了BudgetWebServiceHRImpl.wsdl,server-config.wsdd和deploy.wsdd。
2. 通过test项目B,用eclipse自动生成了客户端,然后用一个main方法调用项目A中的接口
3. 调用本地A的接口,一切正常。
4. 将BudgetWebServiceHRImpl.wsdl,server-config.wsdd,deploy.wsdd以及接口java类部署到服务器上以后,发生上面的错误。
5. server-config.wsdd文件如下(里面还有另外一个接口):
<ns1:deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java" xmlns:ns1="http://xml.apache.org/axis/wsdd/">
 <ns1:globalConfiguration>
  <ns1:parameter name="sendMultiRefs" value="true"/>
  <ns1:parameter name="disablePrettyXML" value="true"/>
  <ns1:parameter name="adminPassword" value="admin"/>
  <ns1:parameter name="attachments.Directory" value="D:\IDE\Tomcat5.0\webapps\budget\WEB-INF\attachments"/>
  <ns1:parameter name="dotNetSoapEncFix" value="true"/>
  <ns1:parameter name="enableNamespacePrefixOptimization" value="false"/>
  <ns1:parameter name="sendXMLDeclaration" value="true"/>
  <ns1:parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
  <ns1:parameter name="sendXsiTypes" value="true"/>
  <ns1:requestFlow>
   <ns1:handler type="java:org.apache.axis.handlers.JWSHandler">
    <ns1:parameter name="scope" value="session"/>
   </ns1:handler>
   <ns1:handler type="java:org.apache.axis.handlers.JWSHandler">
    <ns1:parameter name="scope" value="request"/>
    <ns1:parameter name="extension" value=".jwr"/>
   </ns1:handler>
  </ns1:requestFlow>
 </ns1:globalConfiguration>
 <ns1:handler name="LocalResponder" type="java:org.apache.axis.transport.local.LocalResponder"/>
 <ns1:handler name="URLMapper" type="java:org.apache.axis.handlers.http.URLMapper"/>
 <ns1:handler name="Authenticate" type="java:org.apache.axis.handlers.SimpleAuthenticationHandler"/>
 <ns1:service name="AdminService" provider="java:MSG">
  <ns1:parameter name="allowedMethods" value="AdminService"/>
  <ns1:parameter name="enableRemoteAdmin" value="false"/>
  <ns1:parameter name="className" value="org.apache.axis.utils.Admin"/>
  <ns1:namespace>http://xml.apache.org/axis/wsdd/</ns1:namespace>
 </ns1:service>
 
 <ns1:service name="BudgetWs" provider="java:RPC" style="wrapped" use="literal">
  <ns1:operation name="inquiryBudgetInfoSrv" qname="ns1:inquiryBudgetInfoSrv" returnQName="ns1:inquiryBudgetInfoSrvReturn" returnType="xsd:string" soapAction="" xmlns:ns1="http://webServiceBudget.budget.mocha.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/axis/wsdd/">
   <ns1:parameter qname="ns1:info" type="xsd:string"/>
  </ns1:operation>
  <ns1:operation name="modifyBudgetAmount" qname="ns2:modifyBudgetAmount" returnQName="ns2:modifyBudgetAmountReturn" returnType="xsd:string" soapAction="" xmlns:ns2="http://webServiceBudget.budget.mocha.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ns1:parameter qname="ns2:info" type="xsd:string"/>
  </ns1:operation>
  <ns1:operation name="querySubjectInfo" qname="ns3:querySubjectInfo" returnQName="ns3:querySubjectInfoReturn" returnType="xsd:string" soapAction="" xmlns:ns3="http://webServiceBudget.budget.mocha.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ns1:parameter qname="ns3:info" type="xsd:string"/>
  </ns1:operation>
  <ns1:operation name="saveMeetingInfo" qname="ns4:saveMeetingInfo" returnQName="ns4:saveMeetingInfoReturn" returnType="xsd:string" soapAction="" xmlns:ns4="http://webServiceBudget.budget.mocha.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ns1:parameter qname="ns4:info" type="xsd:string"/>
  </ns1:operation>
  <ns1:operation name="addBudgetaryItem" qname="ns5:addBudgetaryItem" returnQName="ns5:addBudgetaryItemReturn" returnType="xsd:string" soapAction="" xmlns:ns5="http://webServiceBudget.budget.mocha.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ns1:parameter qname="ns5:info" type="xsd:string"/>
  </ns1:operation>
  <ns1:parameter name="allowedMethods" value="saveMeetingInfo querySubjectInfo inquiryBudgetInfoSrv addBudgetaryItem modifyBudgetAmount"/>
  <ns1:parameter name="wsdlPortType" value="BudgetWs"/>
  <ns1:parameter name="typeMappingVersion" value="1.2"/>
  <ns1:parameter name="schemaQualified" value="http://webServiceBudget.budget.mocha.com"/>
  <ns1:parameter name="wsdlServicePort" value="BudgetWs"/>
  <ns1:parameter name="className" value="com.mocha.budget.webServiceBudget.BudgetWs"/>
  <ns1:parameter name="wsdlTargetNamespace" value="http://webServiceBudget.budget.mocha.com"/>
  <ns1:parameter name="wsdlServiceElement" value="BudgetWsService"/>
 </ns1:service>
 <ns1:service name="BudgetWebServiceHRImpl" provider="java:RPC" style="document" use="literal">
  <ns1:operation name="userLoanQuery" qname="userLoanQuery" returnQName="ns6:userLoanQueryReturn" returnType="xsd:string" soapAction="" xmlns:ns6="http://impl.webServiceBudget.budget.mocha.com" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <ns1:parameter qname="ns6:info" type="xsd:string"/>
  </ns1:operation>
  <ns1:parameter name="allowedMethods" value="userLoanQuery"/>
  <ns1:parameter name="wsdlPortType" value="BudgetWebServiceHRImpl"/>
  <ns1:parameter name="typeMappingVersion" value="1.2"/>
  <ns1:parameter name="schemaQualified" value="http://impl.webServiceBudget.budget.mocha.com"/>
  <ns1:parameter name="wsdlServicePort" value="BudgetWebServiceHRImpl"/>
  <ns1:parameter name="className" value="com.mocha.budget.webServiceBudget.impl.BudgetWebServiceHRImpl"/>
  <ns1:parameter name="wsdlTargetNamespace" value="http://impl.webServiceBudget.budget.mocha.com"/>
  <ns1:parameter name="wsdlServiceElement" value="BudgetWebServiceHRImplService"/>
 </ns1:service>
 
 <ns1:service name="Version" provider="java:RPC">
  <ns1:parameter name="allowedMethods" value="getVersion"/>
  <ns1:parameter name="className" value="org.apache.axis.Version"/>
 </ns1:service>
 
 <ns1:transport name="http">
  <ns1:requestFlow>
   <ns1:handler type="URLMapper"/>
   <ns1:handler type="java:org.apache.axis.handlers.http.HTTPAuthHandler"/>
  </ns1:requestFlow>
  <ns1:parameter name="qs:list" value="org.apache.axis.transport.http.QSListHandler"/>
  <ns1:parameter name="qs:wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
  <ns1:parameter name="qs.list" value="org.apache.axis.transport.http.QSListHandler"/>
  <ns1:parameter name="qs.method" value="org.apache.axis.transport.http.QSMethodHandler"/>
  <ns1:parameter name="qs:method" value="org.apache.axis.transport.http.QSMethodHandler"/>
  <ns1:parameter name="qs.wsdl" value="org.apache.axis.transport.http.QSWSDLHandler"/>
 </ns1:transport>
 <ns1:transport name="local">
  <ns1:responseFlow>
   <ns1:handler type="LocalResponder"/>
  </ns1:responseFlow>
 </ns1:transport>
</ns1:deployment>

6. deploy.wsdd文件如下:
<?xml version="1.0" encoding="UTF-8"?><!-- Use this file to deploy some handlers/chains and services      --><!-- Two ways to do this:                                           --><!--   java org.apache.axis.client.AdminClient deploy.wsdd          --><!--      after the axis server is running                          --><!-- or                                                             --><!--   java org.apache.axis.utils.Admin client|server deploy.wsdd   --><!--      from the same directory that the Axis engine runs         --><deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

  <!-- Services from BudgetWebServiceHRImplService WSDL service -->

  <service name="BudgetWebServiceHRImpl" provider="java:RPC" style="document" use="literal">
      <parameter name="wsdlTargetNamespace" value="http://impl.webServiceBudget.budget.mocha.com"/>
      <parameter name="wsdlServiceElement" value="BudgetWebServiceHRImplService"/>
      <parameter name="schemaQualified" value="http://impl.webServiceBudget.budget.mocha.com"/>
      <parameter name="wsdlServicePort" value="BudgetWebServiceHRImpl"/>
      <parameter name="className" value="com.mocha.budget.webServiceBudget.impl.BudgetWebServiceHRImpl"/>
      <parameter name="wsdlPortType" value="BudgetWebServiceHRImpl"/>
      <parameter name="typeMappingVersion" value="1.2"/>
      <operation xmlns:retNS="http://impl.webServiceBudget.budget.mocha.com" xmlns:rtns="http://www.w3.org/2001/XMLSchema" name="userLoanQuery" qname="userLoanQuery" returnQName="retNS:userLoanQueryReturn" returnType="rtns:string" soapAction="">
        <parameter xmlns:pns="http://impl.webServiceBudget.budget.mocha.com" xmlns:tns="http://www.w3.org/2001/XMLSchema" qname="pns:info" type="tns:string"/>
      </operation>
      <parameter name="allowedMethods" value="userLoanQuery"/>

  </service>
</deployment>

7. BudgetWebServiceHRImpl.wsdl文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://impl.webServiceBudget.budget.mocha.com" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://impl.webServiceBudget.budget.mocha.com" xmlns:intf="http://impl.webServiceBudget.budget.mocha.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!--WSDL created by Apache Axis version: 1.4
Built on Apr 22, 2006 (06:55:48 PDT)-->
 <wsdl:types>
  <schema elementFormDefault="qualified" targetNamespace="http://impl.webServiceBudget.budget.mocha.com" xmlns="http://www.w3.org/2001/XMLSchema">
   <element name="info" type="xsd:string"/>
   <element name="userLoanQueryReturn" type="xsd:string"/>
  </schema>
 </wsdl:types>

   <wsdl:message name="userLoanQueryResponse">

      <wsdl:part element="impl:userLoanQueryReturn" name="userLoanQueryReturn">

      </wsdl:part>

   </wsdl:message>

   <wsdl:message name="userLoanQueryRequest">

      <wsdl:part element="impl:info" name="info">

      </wsdl:part>

   </wsdl:message>

   <wsdl:portType name="BudgetWebServiceHRImpl">

      <wsdl:operation name="userLoanQuery" parameterOrder="info">

         <wsdl:input message="impl:userLoanQueryRequest" name="userLoanQueryRequest">

       </wsdl:input>

         <wsdl:output message="impl:userLoanQueryResponse" name="userLoanQueryResponse">

       </wsdl:output>

      </wsdl:operation>

   </wsdl:portType>

   <wsdl:binding name="BudgetWebServiceHRImplSoapBinding" type="impl:BudgetWebServiceHRImpl">

      <wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

      <wsdl:operation name="userLoanQuery">

         <wsdlsoap:operation soapAction=""/>

         <wsdl:input name="userLoanQueryRequest">

            <wsdlsoap:body use="literal"/>

         </wsdl:input>

         <wsdl:output name="userLoanQueryResponse">

            <wsdlsoap:body use="literal"/>

         </wsdl:output>

      </wsdl:operation>

   </wsdl:binding>

   <wsdl:service name="BudgetWebServiceHRImplService">

      <wsdl:port binding="impl:BudgetWebServiceHRImplSoapBinding" name="BudgetWebServiceHRImpl">

         <wsdlsoap:address location="http://localhost:8080/budget/services/BudgetWebServiceHRImpl"/>

      </wsdl:port>

   </wsdl:service>

</wsdl:definitions>


哪位大神能帮个忙?

PS. 我本机两个项目互相调用是好的,同事机器访问我本机webservice也是好的,就是调用服务器上的webservice出现了问题,所以我想应该是服务器上配置文件有问题,但是BudgetWebServiceHRImpl.wsdl,server-config.wsdd,deploy.wsdd以及接口java类,我已经重新上传了N次了,问题依然存在。
是不是还有什么东西需要上传,我本地与SVN同步时没看到有别的文件改动。

问题补充:虽然问题没得到解决,我直接工程打了个包部署到服务器就好了
2013年5月09日 13:17

1个答案 按时间排序 按投票排序

0 0

我碰到了同样的问题,结果发现是log包造成的,删掉就好了,我估计我是在WEBLOGIC上发布的,估计和服务器应用中的包冲突了。

2017年12月20日 13:03

相关推荐

    webService远程调用报错设置.doc

    WebService 远程调用报错设置 在 WebService 远程调用时,可能会出现一些报错设置问题,本文将对这些问题进行详细的分析和解决。 错误信息:“测试窗体只能用于来自本地计算机的请求” 在 WebService 远程调用时...

    java调用webservice.zip

    java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...

    wsdl生成java客户端报错问题解决方法

    解决使用wsdl生成java客户端报错:java.lang.reflect.invocationtargetexception的方法之一

    java.lang.NoClassDefFoundError: javax/xml/ws/Service

    jdk升级jdk10后,原本jdk自带的 webservice一些包确实,引起的一系列错误解决方案

    webservice启动没有问题,通过自动生成的客户端报错

    faultString: java.lang.reflect.InvocationTargetException faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: AxisFault faultCode: {...

    JAVA 调用SAP SOAP webservice.docx

    JAVA 调用 SAP SOAP webservice 详解 在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息、创建 java 项目、添加 web 服务客户端、生成 JAVA 类、调用接口等步骤。 配置 SAP...

    webservice调用工具....

    【标题】:“Web服务调用工具的探索与实践” 在IT行业中,Web服务是一种常见的系统间通信方式,它允许不同的应用程序通过HTTP协议交换数据。Web服务调用工具是开发和测试Web服务的重要辅助手段,可以帮助开发者更加...

    javacode发布成webservice

    ### Java代码发布为WebService的方法与步骤 在当前的软件开发领域中,将Java代码发布为WebService是一种常见的做法,尤其在企业级应用和服务交互场景中。本文将基于提供的标题、描述及部分图片描述内容,详细阐述...

    JAVA的WebService支持

    Java的Web服务支持是Java平台在...学习资料如"JAVA的WebService支持.pdf"可能会提供更深入的细节,包括实例代码和最佳实践,而"下载说明.txt"和"A5下载- 更全的站长资源平台.url"可能是获取更多相关资源和教程的链接。

    解决CXF webService 调用报错 Cannot create a secure XMLInputFactory

    带详细解决方案说明文档,提供三种解决方式,另外包含stax2-api.jar,stax2-api-source.jar,woodstox-core-asl-4.4.1.jar,stax-ex.jar,wstx-asl-3.2.9.jar等jar文件,亲测有效。

    cxf-manifest.jar

    webservice CXF 报错:java.lang.NoClassDefFoundError: org/apache/neethi/builders/AssertionBuilder 需要用到此jar文件 通过apache官网可获得。 文件位置\apache-cxf-2.7.13\lib

    JAVA调JAVA调用webservice(axis方式).doc 用webservice(axis方式).doc

    在IT领域,特别是Java开发中,调用WebService是一种常见的需求,尤其当系统间需要进行通信或数据交换时。本文将详细解析如何通过Apache Axis库在Java应用中调用WebService,具体聚焦于“JAVA调用webservice(axis...

    Java中如何通过https调用Webservice接口_测试环境.rar

    在Java开发中,HTTPS(Hypertext Transfer Protocol Secure)调用Web Service接口是常见的网络通信方式,主要用于确保数据传输的安全性。本主题将详细讲解如何在Java环境下通过HTTPS协议来安全地调用Web Service接口...

    java 调用https webservice实例及axis包

    Apache Axis是一款开源的Web Service框架,它使得Java开发者能够方便地创建和调用Web Service。对于HTTPS的支持,Axis提供了相应的配置和工具。 调用HTTPS Web Service的步骤大致如下: 1. **添加依赖**:首先,你...

    java.lang.NoSuchMethodException: .getPortClassMap()

    在Java编程中,`java.lang.NoSuchMethodException` 是一个常见的运行时异常,它表示尝试调用一个不存在的方法。这个异常通常发生在动态方法调用或反射操作中。在给出的标题 "java.lang.NoSuchMethodException: ....

    C#调用JavaWebService

    调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...

    java调用webservice接口方法.rar

    Java调用WebService接口是Web应用程序开发中的常见任务,主要用于实现不同系统间的远程通信和数据交换。在本资料中,我们重点关注Java如何与基于SOAP(Simple Object Access Protocol)的WebService进行交互。 1. *...

    nodejs和Java调用webservice接口总结.docx

    ### Node.js 和 Java 调用 WebService 接口总结 #### 一、Java 实现方式 在 Java 中,调用 WebService 接口通常涉及使用 Apache CXF 或其他类似的库来生成客户端代码并进行调用。以下是具体的步骤: ##### 1. ...

    .net Post方式调用.net和java的webservice

    本文将深入探讨如何使用POST方式在.NET中调用.NET和Java编写的Web服务,并以XML作为请求数据格式。以下是对这个主题的详细阐述: 1. **什么是Web服务**: Web服务是一种基于互联网的软件应用,允许不同系统间的...

    java调用webservice接口方法.pdf

    Java调用WebService接口是开发中常见的一种跨平台通信方式,主要通过SOAP(Simple Object Access Protocol)协议进行数据交换。在本篇文章中,我们将探讨如何在Java中调用WebService接口,特别是基于WSDL(Web ...

Global site tag (gtag.js) - Google Analytics