- 浏览: 585225 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lihaiming:
受用了,已把定义的版本改为跟本地的一致,不用担心找不到了,现应 ...
Cannot find the declaration of element 'beans' -
Albert_Hawking:
看到这个帖子,解决了我的问题。 我的总结是这样的:由于mave ...
Cannot find the declaration of element 'beans' -
di1984HIT:
学习了啊,哈哈哈~~
win7下安装的sqlserver ,1433端口不通 -
蛋呢823:
我也碰到这个问题,尝试了你这个方法也不行,自己摸索了一天,终于 ...
was缓存导致web.xml更改无效 -
liuxiyangyang:
文章帮了我大忙了,谢谢
Cannot find the declaration of element 'beans'
转自http://blog.csdn.net/xgx1985xgx/article/details/6257368
最近在弄一个java调用c#所写的webservice的程序(我使用的是axis1.4),在测试中用c#写了一个很简单的webservice,然后在myeclipse中采用以下代码调用
view plain
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import org.w3c.dom.*;
/**
* @author xiegx E-mail:544890379@163.com
* @version 创建时间:Mar 10, 2011 5:37:09 PM
* 类说明 测试调用webservice
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
// 指出service所在URL
String endpoint = "http://localhost:2339/WebSite1/Service.asmx";
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call)service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
//设置要调用的方法
call.setOperationName( new QName( "http://www.luculent.net/T","StartService" ));
//设置该方法需要的参数
call.addParameter( "serviceName" , org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
//设置方法返回值的类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
//调用该方法
call.setSOAPActionURI("http://www.luculent.net/StartService");
String ret = (String) call.invoke(new Object[] { new String("MSSQLSERVER") });
/*// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName("StartService");
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = (String) call.invoke(new Object[] { new String("MSSQLSERVER") });*/
System.out.println(ret);
}catch(Exception ex){
ex.printStackTrace();
System.out.println(ex.toString());
}
}
}
在java中调用c#中StartService的方法,在myeclipse中一切正常,得到了正确的返回结果
然后将上述程序放到jsp文件中,部署到weblogic8.1中运行,结果报以下错误
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
at org.apache.axis.message.MessageElement.addTextNode(MessageElement.jav
a:1396)
at org.apache.axis.message.SOAPHandler.addTextNode(SOAPHandler.java:148)
at org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:112)
at org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1087)
at weblogic.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractS
AXParser.java:585)
at weblogic.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNa
mespaceBinder.java:898)
at weblogic.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespac
eBinder.java:644)
at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndEle
ment(XMLDocumentFragmentScannerImpl.java:1008)
at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentCo
ntentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1469)
at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocume
nt(XMLDocumentFragmentScannerImpl.java:329)
at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguratio
n.java:525)
at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguratio
n.java:581)
at weblogic.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXPar
ser.java:1175)
at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:138)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.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(MustUnders
tandChecker.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 jsp_servlet.__webservice.stest(__webservice.java:73)
at jsp_servlet.__webservice._jspService(__webservice.java:188)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
{http://xml.apache.org/axis/}hostname:PC-201004012019
java.lang.NullPointerException
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:216)
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 jsp_servlet.__webservice.stest(__webservice.java:73)
at jsp_servlet.__webservice._jspService(__webservice.java:188)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
上述问题的原因是axis1.4和weblogic8.1有冲突,weblogic 本身携带的webservice.jar使用的旧的javax.xml.soap.*,而不是像axis使用J2EE1.4新的版本。解决方案是在应用WEB-INF/weblogic.xml(若应用中没有weblogic.xml,则可以在bea/weblogic81/samples/server/examples/build/examplesWebApp/WEB-INF中拷贝)在文件中加入如下红色配置:
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
修改后重启weblogic,一切正常,问题解决!
最近在弄一个java调用c#所写的webservice的程序(我使用的是axis1.4),在测试中用c#写了一个很简单的webservice,然后在myeclipse中采用以下代码调用
view plain
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import java.net.MalformedURLException;
import java.rmi.RemoteException;
import org.w3c.dom.*;
/**
* @author xiegx E-mail:544890379@163.com
* @version 创建时间:Mar 10, 2011 5:37:09 PM
* 类说明 测试调用webservice
*/
public class Test {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
// 指出service所在URL
String endpoint = "http://localhost:2339/WebSite1/Service.asmx";
// 创建一个服务(service)调用(call)
Service service = new Service();
Call call = (Call)service.createCall();// 通过service创建call对象
// 设置service所在URL
call.setTargetEndpointAddress(new java.net.URL(endpoint));
//设置要调用的方法
call.setOperationName( new QName( "http://www.luculent.net/T","StartService" ));
//设置该方法需要的参数
call.addParameter( "serviceName" , org.apache.axis.encoding.XMLType.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
//设置方法返回值的类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
call.setUseSOAPAction(true);
//调用该方法
call.setSOAPActionURI("http://www.luculent.net/StartService");
String ret = (String) call.invoke(new Object[] { new String("MSSQLSERVER") });
/*// 方法名(processService)与MyService.java方法名保持一致
call.setOperationName("StartService");
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
// Object 数组封装了参数,参数为"This is Test!",调用processService(String arg)
String ret = (String) call.invoke(new Object[] { new String("MSSQLSERVER") });*/
System.out.println(ret);
}catch(Exception ex){
ex.printStackTrace();
System.out.println(ex.toString());
}
}
}
在java中调用c#中StartService的方法,在myeclipse中一切正常,得到了正确的返回结果
然后将上述程序放到jsp文件中,部署到weblogic8.1中运行,结果报以下错误
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: java.lang.NullPointerException
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:java.lang.NullPointerException
at org.apache.axis.message.MessageElement.addTextNode(MessageElement.jav
a:1396)
at org.apache.axis.message.SOAPHandler.addTextNode(SOAPHandler.java:148)
at org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:112)
at org.apache.axis.encoding.DeserializationContext.endElement(Deserializ
ationContext.java:1087)
at weblogic.apache.xerces.parsers.AbstractSAXParser.endElement(AbstractS
AXParser.java:585)
at weblogic.apache.xerces.impl.XMLNamespaceBinder.handleEndElement(XMLNa
mespaceBinder.java:898)
at weblogic.apache.xerces.impl.XMLNamespaceBinder.endElement(XMLNamespac
eBinder.java:644)
at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndEle
ment(XMLDocumentFragmentScannerImpl.java:1008)
at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentCo
ntentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1469)
at weblogic.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocume
nt(XMLDocumentFragmentScannerImpl.java:329)
at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguratio
n.java:525)
at weblogic.apache.xerces.parsers.DTDConfiguration.parse(DTDConfiguratio
n.java:581)
at weblogic.apache.xerces.parsers.XMLParser.parse(XMLParser.java:152)
at weblogic.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXPar
ser.java:1175)
at weblogic.xml.jaxp.WebLogicXMLReader.parse(WebLogicXMLReader.java:135)
at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:138)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.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(MustUnders
tandChecker.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 jsp_servlet.__webservice.stest(__webservice.java:73)
at jsp_servlet.__webservice._jspService(__webservice.java:188)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:402)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:446)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:305)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio
n.run(WebAppServletContext.java:6350)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate
dSubject.java:317)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:
118)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:3635)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2585)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170)
{http://xml.apache.org/axis/}hostname:PC-201004012019
java.lang.NullPointerException
at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:216)
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 jsp_servlet.__webservice.stest(__webservice.java:73)
at jsp_servlet.__webservice._jspService(__webservice.java:188)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run
(ServletStubImpl.java:971)
上述问题的原因是axis1.4和weblogic8.1有冲突,weblogic 本身携带的webservice.jar使用的旧的javax.xml.soap.*,而不是像axis使用J2EE1.4新的版本。解决方案是在应用WEB-INF/weblogic.xml(若应用中没有weblogic.xml,则可以在bea/weblogic81/samples/server/examples/build/examplesWebApp/WEB-INF中拷贝)在文件中加入如下红色配置:
<weblogic-web-app>
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>
修改后重启weblogic,一切正常,问题解决!
发表评论
-
IE不能运行js脚本 javascript
2012-04-25 18:50 1388在“运行”里输入 regsvr32 jscript.dll r ... -
VMWare网络详解
2011-11-29 17:44 2268转自 http://www.vmbest.com/sch ... -
VMware网络配置详解
2011-11-29 14:47 1162转自:http://blog.csdn.net/sophiaw ... -
关于软件开发、领域知识、职业危机以及UML的计算主义思考
2011-06-24 11:43 1274转自:http://blog.csdn.n ... -
autohotkey lab
2011-06-14 20:43 1580转自http://blog.csdn.net/zxremail ... -
笔记 - 用户体验的五层–概念篇
2011-06-11 13:20 1130转自http://www.cnblogs.com/ ... -
关于最近热火的工资话题
2011-06-10 13:29 1361转自http://www.iteye.com/topi ... -
was缓存导致web.xml更改无效
2011-05-31 10:49 4053在项目中经常遇见这样的问题:修改应用的配置文件web. ... -
开发人员的测试悖论
2011-05-16 11:43 697转自http://www.iteye.com/news/212 ... -
Junction
2011-04-29 11:45 1542转自 http://technet.microsoft.com ... -
WebSphere编译JSP时抛出sun.io.MalformedInputException
2011-04-22 13:39 2627转自http://alansun.iteye.com/blog ... -
你所不知道的传输层
2011-04-21 20:22 1042转自http://java-mzd.iteye.c ... -
初识Firebug 全文 — firebug的使用
2011-03-30 21:19 1171转自 http://www.ooso.net/a ... -
Subversion的有用配置
2010-07-24 23:48 1292本文介绍了配置管理员和高级用户可能用到的其他功能,分别为: ... -
你是个软件架构师吗?
2010-04-20 15:38 1150转自:http://www.infoq.com/c ...
相关推荐
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
Java调用C#的WebService是跨平台间通信的一种常见方式,尤其在企业级应用中,可能需要集成不同语言开发的服务。本示例介绍如何在Java环境中利用Xfire库来调用C#编写的WebService服务。 首先,理解WebService的核心...
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
faultString: java.lang.reflect.InvocationTargetException faultActor: faultNode: faultDetail: {http://xml.apache.org/axis/}stackTrace: AxisFault faultCode: {...
在"C#调用WebService实例和开发(wsdl).pdf"中,读者可能会找到关于这些步骤的具体实现,包括代码示例、错误处理以及最佳实践。通过深入学习和实践,开发者不仅可以了解如何调用现有的WebService,还能掌握创建...
JAVA 调用 SAP SOAP webservice 详解 在本文中,我们将详细介绍如何使用 JAVA 调用 SAP SOAP webservice,包括配置 SAP 登录信息、创建 java 项目、添加 web 服务客户端、生成 JAVA 类、调用接口等步骤。 配置 SAP...
1.C# 调用 Java 发布的 WebService 需要使用 Web 引用。 2.使用 C# 语言调用 Java 发布的 WebService 需要添加 Web 引用。 3. WebService 的 URL 需要遵循特定的格式,例如 ...
### Java访问C#开发的Webservice详解 #### 一、引言 在现代软件开发过程中,尤其是对于大型项目而言,采用分布式系统架构已经成为一种常态。分布式应用能够将复杂的业务逻辑分解并部署到不同的服务器上,从而提高...
Apache Axis是一款开源的Web Service框架,它使得Java开发者能够方便地创建和调用Web Service。对于HTTPS的支持,Axis提供了相应的配置和工具。 调用HTTPS Web Service的步骤大致如下: 1. **添加依赖**:首先,你...
本话题主要探讨如何使用Java调用由C++实现的Web服务(Webservice)。在给出的描述中,提到了通过WSDL(Web Services Description Language)文件来实现这一目标。以下是关于这个主题的详细知识点: 1. **Web服务...
C++2005调用C#Webservice接口返回值为List 本文将详细介绍C++2005如何调用C#Webservice接口返回值为List。首先,需要了解C#Webservice的基本概念和C++2005如何调用Webservice接口。 一、C#Webservice的基本概念 ...
本示例介绍的是如何使用Java来访问由C#编写的WebService服务。WebService是一种基于互联网的、平台无关的通信机制,它允许不同系统间的应用程序通过网络进行交互。 首先,我们需要理解WebService的基本原理。...
【Java调用C#编写的Web Service】 在跨平台的软件开发中,有时我们需要在Java应用中调用由其他语言,比如C#编写的Web Service。这篇文档将介绍如何使用Java来调用C#编写的Web Service,主要分为以下几个步骤: 1. ...
Java 调用 ODI webservice 实现数据同步 Java 调用 ODI webservice 是实现数据同步的一种常见方式。ODI(Oracle Data Integrator)是一种数据集成平台,提供了webservice接口,允许用户通过webservice调用ODI方案...
本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...
本文将深入探讨如何使用C#调用Java WebService,这是实现.NET与Java平台间互操作性的一个重要方式。我们将首先理解WebService的基本概念,然后详细讲解C#中如何通过.NET Framework的SOAP客户端代理类来调用Java ...
【Java 调用 .NET WebService 基础知识】 在软件开发中,跨平台交互是常见的需求,Java 和 .NET 平台之间的通信可以通过 WebService 实现。本篇将详细讲解如何使用 Java 调用 .NET 开发的 WebService。 1. **...
### .NET调用Java WebService的关键知识点 #### 一、背景与原理介绍 在实际的软件开发过程中,不同技术栈之间的交互变得越来越普遍。对于.NET应用程序来说,有时需要调用由Java开发的WebService。这种跨平台的服务...
对于“传参解决工程”这个文件,可能是具体解决Delphi调用Web服务时参数传递的问题,如类型不匹配、序列化/反序列化错误等。在实际应用中,遇到这类问题时,可以参考这个文件的内容进行调试和修复。
【标题】:“C# WebService调用测试工具” 在IT领域,Web Service是一种基于网络的、松散耦合的软件组件,它允许不同系统之间的数据交换。C# WebService调用测试工具是专为开发者设计的,用于测试和调试Web Service...