我想从政府网络服务中检索订单的状态。
文档文件为http://www.sii.cl/factura_electronica/factura_mercado/estado_envio.pdf,根据文档的WSDL为https://maullin.sii.cl/DTEWS/QueryEstUp.jws?WSDL。
为此,我尝试了两种方式:
如果我做对了,我必须发送四个变量。
RutCompania,DvCompania,TrackId,Token
我做了,这是我的代码
QueryEstUpServicePalena.QueryEstUpClient ClienteP= new QueryEstUpServicePalena.QueryEstUpClient();
var xmlData = ClienteP.getEstUp(RutCompania, DvCompania, TrackId, Token);
XmlDocument _doc = new XmlDocument();
_doc.LoadXml(xmlData);
但不管是什么或如何,我只会说它无法连接到服务器。 xmlData始终为null,就好像我甚至没有收到服务器的回复。
这是wsdl.exe自动代码的一部分(这里是完整的类代码http://puu.sh/fMPY3/2d9118b053.cs,请注意RequestNamespace =" http:// DefaultNamespace",我用服务器wsdl替换完整网址但仍然失败。)
public string getEstUp(string RutCompania, string DvCompania, string TrackId, string Token) {
object[] results = this.Invoke("getEstUp", new object[] {
RutCompania,
DvCompania,
TrackId,
Token});
服务提供商支持中心非常糟糕,他们不会给予我任何回复或帮助,而不是再次阅读文档文件"
我真的不知道该怎么做,因为我用另一个WSDL文件做了这个并且工作得很好。
编辑:我注意到有效的代理类使用System.Xml.Serialization.SoapElementAttribute
我现在尝试做的那个使用System.Xml.Serialization.XmlElementAttribute
http://puu.sh/fMRuZ/40bbd9fbda.png
两者都使用了wsdl.exe,我不知道它为什么会有不同的
编辑2:尝试重新制作类文件,但仍然没有结果
Wsdl.exe /out:Proxy.cs /protocol:SOAP https://palena.sii.cl/DTEWS/QueryEstUp.jws?WSDL
答案 0 :(得分:0)
最后我发现了什么问题
我已经向开发团队提交了一份投诉,因为这最终是他们的错:
我的解决方案是研究WSDL:https://maullin.sii.cl/DTEWS/QueryEstUp.jws?WSDL
结果:http://puu.sh/fMZkl/fcd33c1ea7.png(不再给出连接错误) 这就是它,解决了并且正在工作,最后我不知道它是jws的错误还是wsdl.exe的默认程序,但我终于解决了它
对不起,如果有人试图让它工作
此致