我尝试访问此SOAP Web服务(http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc),并且还提供了其WSDL文件
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?wsdl
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?wsdl=wsdl0
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd0
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd1
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd2
http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc?xsd=xsd3
但是我从未使用过soap,而且我没有找到足够清晰的WSDL文件。 我要做的是查询服务以查找可用的不同操作,例如 ListaMinistros 操作,该操作采用参数 actualizacion ,即yyyymmdd格式的日期。 我已经尝试了所有可能的组合来联系该服务,但它以端点未找到响应进行响应。 如果你能给我一个SOAP XML的例子,它会很棒,因为几乎所有其他可用的操作都是一样的,所以我很冷静地看看如何自己做。
提前致谢
======
我已经在Visual Studio的C#项目中设置了WSDL引用,以查看它的请求是什么类型
配置文件出现以下内容:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<customBinding>
<binding name="Rest">
<textMessageEncoding maxReadPoolSize="64" maxWritePoolSize="16"
messageVersion="Soap12" writeEncoding="utf-8">
<readerQuotas maxDepth="32" maxStringContentLength="8192" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
</textMessageEncoding>
<httpTransport />
</binding>
</customBinding>
</bindings>
<client>
<endpoint
binding="customBinding" bindingConfiguration="Rest" contract="SCJN.Tematica"
name="Rest" />
</client>
</system.serviceModel>
但是它包含端点的地址,因此我修改了端点,如下所示:
<endpoint address="http://iberius.scjn.gob.mx:8080/Mobile/Tematica.svc"
binding="customBinding" bindingConfiguration="Rest" contract="SCJN.Tematica"
name="Rest" />
但该服务以未找到的端点作出响应。
有没有办法找出要拨打的地址。 WSDL也没有列出SOAPAction属性,而是列出了wsaw:支持的操作中的Action,它在我的.NET代码中被翻译成以下
[System.ServiceModel.OperationContractAttribute(Action="urn:Tematica/ListaMinistros", ReplyAction="urn:Tematica/ListaMinistrosResponse")]
ConsoleApplication2.SCJN.Ministro[] ListaMinistros(string actualizacion);
答案 0 :(得分:1)
尝试使用soapUI.org,它是一个功能丰富的开源/商业Web服务资源管理器。您可以提供WSDL,它将自动创建SOAP请求存根,可以将其发送到WSDL中指定的端点。甚至可以使HTTP标头可见。
答案 1 :(得分:0)
您可以下载webservice studio。 它的免费程序,它会显示一条肥皂信息。在谷歌搜索。
答案 2 :(得分:0)
这些文章[1] [2]描述了wsdl和soap。
更好的选择是使用平台提供的wsdl2java工具。如果没有这样的东西,那么你可以使用像Axis2这样的其他框架,并检查每个操作的请求和响应消息。