.net客户端使用Axis2 Web服务

我有一个.net 2.0 C#客户端应用程序具有对Web服务的引用Axis2 Java Webservice。 这个想法是发送一些XML数据到Web服务,所以它可以被解析并插入到数据库中。 WS方法接受类型'xsd:anytype'的单个参数。.net客户端使用Axis2 Web服务

的Java Web服务:

public class JWS{  

public Response AddData(Object inputXML) {

return Response;

}

}

C#客户:

JWS client = new JWS(); 

object inputXML = "<xml>some xml data</xml>";

response = client.AddData(inputXML);

有2个问题,使用招监测时,我看到。

1)请求具有附加元件'<inputXML>'实际的XML数据之前添加。

<inputXML>&lt;xml&gt;some xml data&lt;/xml&gt;</inputXML> 

2)XML编码,所以“<”被显示为"&lt;"

我不知道这是怎么SOAP请求的产生,但我想删除<inputXML>标签也,让xml按原样显示,而不必替换特殊字符。

这可能吗?它是否与'Wrapping'/'UnWrapping'类型有关?

而且,我已经使用了SoapUI测试Java Web服务,而且运作良好。但是,在请求标签中,我必须手动删除<inputXML>标签并提交它才能正常工作。请帮忙。

TIA

回答:

我发现问题不在于编码,而是在axis2中查看消息时在java端解释不正确。所以,它正在得到正确的解码。此外,inputxml现在正在正确处理。

回答:

这是预期下,SOAP行为,并传递给你的Web服务方法时inputXml变量将被解码回原始字符串。

然而,这可能表明你的设计有问题,你有没有考虑构造一个对象发送到Web服务,而不是XML数据? (因为无论如何,这个对象将透明地转换为XML的Web服务调用)。

以上是 .net客户端使用Axis2 Web服务 的全部内容, 来源链接: utcz.com/qa/264076.html

回到顶部