c#调用java写的webservice,添加Soapheader,怎么在SOAPheader 中添加类型标记符号

hblzg 2008-10-30 07:09:57
c#调用java写的webservice,添加Soapheader,怎么在SOAPheader 中添加类型标记符号
电信提供给我们java写的webservice
经过C#调用后,要添加自定义的SOAPHeader。
利用代理类函数生成的SOAPHeader都不带类型标记符号。
问怎么才能添加上呢
C#生成的 SOAPHeader如下:


<soap:Header>
<RequestSOAPHeader xmlns="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1">
<spId>1</spId>
<spPassword>spPassword</spPassword>
<timeStamp>timeStamp</timeStamp>
<ProductId>productId</ProductId>
<transactionId>transactionId</transactionId>
<transEnd>transEnd</transEnd>
<linkId>linkId</linkId>
<OA>OA</OA>
<FA>FA</FA>
<multicastMessaging>multicastMessaging</multicastMessaging>
</RequestSOAPHeader>
</soap:Header>
标准的SOAPHeader 如下:
* <soapenv:Header>
* <tns:RequestSOAPHeader xmlns:tns="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1">
* <tns:spId>123456</tns:spId>
* <tns:spPassword>123456</tns:spPassword>
* <tns:timeStamp>0101111111</tns:timeStamp>
* <tns:productId>123456</tns:productId>
* <tns:transactionId>123456</tns:transactionId>
* <tns:transEnd>-1</tns:transEnd>
* <tns:linkId>123456</tns:linkId>
* <tns:OA>tel:8613907550001</tns:OA>
* <tns:FA>tel:8613907550001</tns:FA>
* <multicastMessaging>false</tns:multicastMessaging>
* </tns:RequestSOAPHeader>
* </soapenv:Header>

注意两个黑体部分不一样,自动生成的是<soap></soap> 标准提供的是<soapenv></soapenv>
另外 每个节点都有<tns:,请问 怎么让自动生成的也添加上<tns呢?
...全文
1896 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
Schumanzou 2011-06-07
  • 打赏
  • 举报
回复
LZ问题解决没有?
LZ你是怎么添加 soapheader的? 如何使用代理类啊?
我现在遇到这样的问题, 需要调用一个 JAVA 写的 web service , 现在需要添加soap header? 怎么添加啊
wangyongchao880622 2011-06-07
  • 打赏
  • 举报
回复
学习中
adandelion 2010-12-14
  • 打赏
  • 举报
回复
I need it too
牛人 2010-08-19
  • 打赏
  • 举报
回复
tttt
fpcc 2008-11-11
  • 打赏
  • 举报
回复
我没有那么做,直接就通过了验证。呵呵,已经在天津项目上成功。
kimmking 2008-11-08
  • 打赏
  • 举报
回复
Axis Xfire .net-WS 这些集成的Ws优点很多

缺点就是在报文级的控制上不够好。


我做了一个轻量级的类似Ws的工具,目前调通了.net、java、js的部分。
lhsxsh 2008-11-08
  • 打赏
  • 举报
回复
看样子楼主在做SP网关?
lhsxsh 2008-11-08
  • 打赏
  • 举报
回复
fpcc 你怎么没有用WSE不处理?
关于SoapHeader 楼主要安装WSE3.0 或用 2008 的WCF来做?
关于WSE3.0 可以看查我的 http://blog.csdn.net/lhsxsh/archive/2008/11/07/3247075.aspx
关于WCF 我也还没去了解
fpcc 2008-11-06
  • 打赏
  • 举报
回复
已解决,看我博客http://fpcfjf.blog.163.com/blog/static/5546979320081069223827/?mode=edit
real_name 2008-11-01
  • 打赏
  • 举报
回复
fpcc 2008-11-01
  • 打赏
  • 举报
回复
犀鸟,你把你的方法说详细一些,好不好啊。谢谢啊。
fpcc 2008-11-01
  • 打赏
  • 举报
回复
我也在找,大家顶一下。
hblzg 2008-10-31
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 much0726 的回复:]
RequestSOAPHeader header=new RequestSOAPHeader();
header.Namespaces.Add("tns");
-----------
好像在类上面还要添加属性namespace属性来设置:
tns="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1"
[/Quote]
header.Namespaces.Add("tns");
没有Namespaces 方法
much0726 2008-10-30
  • 打赏
  • 举报
回复
RequestSOAPHeader header=new RequestSOAPHeader();
header.Namespaces.Add("tns");
-----------
好像在类上面还要添加属性namespace属性来设置:
tns="http://www.chinatelecom.com.cn/schema/ctcc/common/v2_1"
hornbills 2008-10-30
  • 打赏
  • 举报
回复
这个应该没问题

public class TransactionID:SoapHeader{
[XmlValue]
public string Value;
}

12,162

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧