【发布时间】:2012-04-23 06:27:37
【问题描述】:
第一次尝试使用网络服务。我正在使用 VS2005 并尝试调用 Web 服务功能。 我将我的网络引用添加到 WSDL,得到了我的自动生成代码。
我可以毫无错误/异常地调用它,但我没有从服务功能中得到任何回报。 当我运行我的代码并看到网络服务实际上发回了它应该发送的数据时,我对网络流量进行了数据包嗅探,我只是从未在下面的代码中收到它
Dim proxy As New MyServer.MyService
Dim response As New Object()
response = proxy.getAllThings(Nothing)
在 WSDL 中它说它需要 Object 作为参数并返回 Object。
也试过了:
暗淡响应作为新对象和
暗淡响应为 String=""
响应始终为 Nothing/Null
嗅探到的数据显示了一个纯文本 SOAP 信封,这是我期望“响应”包含的内容。
从网络服务发送到我的计算机 IP 地址的嗅探数据:
Server: Apache-Coyote/1.1
Content-Type: text/xml;charset=utf-8
Transfer-Encoding: chunked
Date: Mon, 23 Apr 2012 08:26:01 GMT
321
<?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Body><cmp:things xmlns:cmp="http://cmp.com"><cmp:thing><cmp:id>10</cmp:id><cmp:name>ASM</cmp:name></cmp:thing><cmp:thing><cmp:id>1</cmp:id><cmp:name>CHP</cmp:name></cmp:thing><cmp:thing><cmp:id>11</cmp:id><cmp:name>UDB</cmp:name></cmp:thing><cmp:thing><cmp:id>8</cmp:id><cmp:name>GKH</cmp:name></cmp:thing><cmp:thing><cmp:id>5</cmp:id><cmp:name>GGW</cmp:name></cmp:thing><cmp:thing><cmp:id>6</cmp:id><cmp:name>LRZ</cmp:name></cmp:thing><cmp:thing><cmp:id>7</cmp:id><cmp:name>MRN</cmp:name></cmp:thing><cmp:thing><cmp:id>2</cmp:id><cmp:name>KBV</cmp:name></cmp:thing><cmp:thing><cmp:id>3</cmp:id><cmp:name>CXE</cmp:name></cmp:thing></cmp:things></soapenv:Body></soapenv:Envelope>
0
这些嗅探到的数据永远不会出现在“响应”中
我以http://msdn.microsoft.com/en-us/library/aa275675%28v=sql.80%29.aspx 为例。
任何帮助将不胜感激。
编辑:“响应”应该包含来自网络服务调用结果的数据,不应该吗?
【问题讨论】:
-
getAllThings 返回什么数据类型?
-
它不返回任何类型是 Nothing
-
那么你想在变量'response'中存储什么,你还提到它返回一个对象acc。到 WSDL ...你能编辑你的问题吗?
-
对不起,如果我不清楚,第一次尝试使用网络服务。它说它返回 Object 我尝试将返回值声明为 Object,但它没有返回任何东西 Nothing/Null。
-
您期望输出什么?至少你会知道......如果你不想要任何输出......你不应该将它存储在响应对象中......
标签: .net soap web-reference