0 0

JAVA 调用 .NET写的WEB SERVICE的问题(SOAP头验证) 10

java调用c#的soap服务,soap头该如何加?
<soap:header>
<smssoapheader xmlns="http://www.com/">
<username>string </username>
<password>string </password>
</smssoapheader>
</soap:header>

用eclipse生成代码如下:

org.apache.axis.client.Call _call = createCall();
_call.setOperation(_operations[0]);
_call.setUseSOAPAction(true);
_call.setSOAPActionURI(" http://www.com/SendSMS ");
_call.setEncodingStyle(null);
_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
_call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP12_CONSTANTS);
_call.setOperationName(new javax.xml.namespace.QName("http://www.com", "SendSMS"));
SOAPHeaderElement soapHeaderElement = new SOAPHeaderElement(new javax.xml.namespace.QName("http://www.com"), "SMSSoapHeader");

soapHeaderElement.setNamespaceURI("http://www.com/");


try
{

soapHeaderElement.addChildElement("Username").setValue("aaaaaaaaa");
soapHeaderElement.addChildElement("Password").setValue("aaaaaaaaa");
}
catch (SOAPException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}



_call.addHeader(soapHeaderElement);
setRequestHeaders(_call);
setAttachments(_call);
String[]s={s关联号, s目标手机, s内容};
try { java.lang.Object _resp = _call.invoke(s);
.......
---------------------------------------------------------------

结果我加入红色部分,就报错
- MessageElement.addChild called when an object value is present
java.lang.IllegalStateException: MessageElement.addChild called when an object value is present
at org.apache.axis.message.MessageElement.addChild(MessageElement.java:735)
at org.apache.axis.message.MessageElement.addChildElement(MessageElement.java:1324)
该如何解决?小弟在这求教了

 


问题补充:
wxjiaaa的回答不对
如果soapHeaderElement.setObjectValue(null);
soapHeaderElement.addChildElement("Username").setValue("HYXTSMS");
soapHeaderElement.addChildElement("Password").setValue("Yx!23445pQ");
加了句soapHeaderElement.setObjectValue(null);就行了,
可是这样SMSSoapHeader就没用了,请教下大家正确的要怎么加
问题补充:
http://topic.csdn.net/t/20060906/20/5003818.html#Top
我在csdn找到篇,按他的方法不行
SOA 
2008年8月21日 16:14

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

0 0

_call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);

是不是这个的原因啊

2008年8月22日 09:24

相关推荐

    java调用.net发布的webservice(asmx)

    本文将详细讲解如何使用Java调用.NET发布的Web Service(ASMX),并解决在此过程中可能出现的SOAPAction报错和“Server not identified”错误。 首先,我们需要了解ASMX。ASMX是.NET Framework早期版本中用于创建...

    Java 调用.NET web服务

    总结,Java调用.NET Web服务的过程主要包括理解WSDL,使用JAX-WS生成Java客户端代码,构建并运行客户端,处理异常,以及可能的性能优化和安全措施。在实际开发中,还需要关注兼容性、版本管理和文档记录等方面,确保...

    用java调用.net接口的方法

    标题提到的“用java调用.net接口的方法”就是解决这个问题的一种技术实践。以下将详细讲解三种主要的实现方式,以及如何通过提供的源代码进行操作。 首先,我们要理解Java和.NET之间的互操作性通常依赖于Web服务...

    java程序调用.net/c#的webservice

    总之,Java调用.NET/C#的Web服务是一个涉及网络通信、SOAP协议、类型转换等多个技术层面的过程,需要对Java和.NET平台都有一定的理解。正确配置和使用相关的工具库,可以有效地实现跨平台的通信。

    Java与.NET 的Web Services相互调用

    配置好所需的库和依赖,然后在Java代码中实例化代理类,调用.NET Web Service的Web方法,传递参数并接收返回结果。 在进行Java与.NET之间的Web Services调用时,关键在于理解WSDL文件,它是Web服务的接口定义,包含...

    java调用.net写的Webservice.pdf

    Java调用.NET编写的Web服务主要是通过Web Service接口来实现跨平台的数据交互。在这个场景下,Java应用可以作为客户端调用由.NET框架构建的服务。以下是关于这个主题的详细说明: 1. **Axis库的使用**: Axis是...

    java调用.net写的Webservice整理.pdf

    Java调用.NET编写的Web服务,主要是通过SOAP协议进行通信,这涉及到跨平台的互操作性。以下是关于这个主题的详细知识: 1. **SOAPAction HTTP Header**: SOAPAction HTTP请求头用于指示SOAP消息的目标,它的值是...

    Android调用.net webservice数据传递所需类库

    在Android平台上,与远程服务进行交互是常见的需求,特别是调用.NET Web Service。.NET Web Service通常使用SOAP协议,而Android则需要一个合适的库来处理这些请求。这就是ksoap2库的角色,它允许Android应用与基于...

    java 调用https webservice实例及axis包

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

    c#调用java带身份验证webservice

    综上所述,要使用C#调用Java带身份验证的Web服务,你需要生成客户端代理类,设置正确的身份验证头,处理XML响应,并确保具备良好的异常处理机制。这涉及到对.NET框架的理解,以及对XML和身份验证协议的熟悉。通过...

    Java与.net开发webservice详解大全

    - Java客户端通过Apache CXF或其他Java SOAP库(如Axis2)解析.NET服务的WSDL,生成客户端代码,然后调用服务。 开发环境中,使用的是JDK1.6和Eclipse3.6作为Java环境,Visual Studio 2010作为.NET环境。值得注意...

    C#调用使用java的带soaphead的webservice

    在这个项目中,`Microsoft.Web.Services3.dll`库被用于C#端,它是.NET Framework的一个扩展,允许我们创建和处理SOAP消息,包括添加自定义SOAP头。这个库提供了SoapHttpClientProtocol类,它是System.Web.Services....

    Java调用Web服务(Web Services),如此简单

    在IT行业中,Web服务是一种...总之,Java调用Web服务,尤其是.NET的ASMX服务,主要涉及SOAP协议、客户端库的选择和使用、WSDL的解析以及数据交换格式的处理。理解这些核心概念,可以让你在实现跨平台通信时游刃有余。

    通过WebService实现Java与.Net互联.doc

    3. Java调用Web Service 在Java中,使用JAX-WS(Java API for XML Web Services)框架可以实现对Web Service的调用。通过WSDL文件,JAX-WS可以自动生成客户端代理类,使得开发者可以直接调用服务的方法,就像调用...

    WCFService可以通过web调用和WCF服务访问

    在标题和描述中提到的“WCFService可以通过web调用和WCF服务访问”,这意味着该服务已经配置为允许两种不同的调用方式。 1. **Web调用**:WCF服务可以通过HTTP协议暴露为Web服务,允许任何支持SOAP协议的客户端进行...

    Java调用C#安全认证的Web服务

    本主题聚焦于“Java调用C#安全认证的Web服务”,这是一个涉及到不同语言间互操作性以及网络安全的重要话题。下面将详细阐述相关知识点。 1. **Web服务基础**: Web服务是一种基于互联网的、标准化的方式,允许应用...

    webservice、soap等接口调用参考

    Web服务(Web Service)是一种基于互联网的,使用标准XML(Extensible Markup Language)进行通信的软件服务。这种服务可以被任何能够理解XML的系统所调用,使得不同平台的应用程序能够相互通信,实现了跨语言、跨...

    How to invoke Java web service in ASP.net using C#.zip

    在实际开发中,需要考虑网络问题、服务不可用等情况,因此在调用Web服务时,要适当地捕获并处理异常,如`System.Net.WebException`和`SoapException`。 6. **部署与调试** 将ASP.NET应用部署到IIS服务器后,确保...

    .net调用java WebService

    ### .NET调用Java WebService的关键知识点 #### 一、背景与原理介绍 在实际的软件开发过程中,不同技术栈之间的交互变得越来越普遍。对于.NET应用程序来说,有时需要调用由Java开发的WebService。这种跨平台的服务...

    web service 小例子asp.net带access数据库

    6. 客户端调用:Web服务的客户端可以是任何支持SOAP协议的应用,如JavaScript、Java、C#或其他.NET应用程序。调用方式通常是发送HTTP POST请求,包含XML格式的SOAP消息。 在这个"web service小例子asp.net带access...

Global site tag (gtag.js) - Google Analytics