■26356 / inTopicNo.1) |
WSDLを使わないVB.NETWebサービス |
□投稿者/ auth (1回)-(2008/10/07(Tue) 17:55:13)
|
分類:[.NET 全般]
よろしくおねがいします。
MSSOAPを利用しているクライアントAPがあります。 今回はサーバーのリプレイスのみです。
更改前は、PHPでSOAP:XMLを受信しています。POSTに入っているDOMをPHPで解析して エレメント化しています。 今回はWindows2003/VB.NET2005で受信します。
問題点 クライアントから送られてくるSOAPのXMLデータをVB.NETサービスで受信しエレメント化する方法が わかりません。WSDLを定義してもメソッドのパラメータにデータが入ってきません。
-TCPをモニターした値です---------------------------------------------------- ---- Client => Server
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <SOAP-ENV:Envelope xmlns:SOAPSDK1="http://www.w3.org/2001/XMLSchema" xmlns:SOAPSDK2="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAPSDK3="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"> <SOAP-ENV:Body> <SOAPSDK4:Auth xmlns:SOAPSDK4="http://www.hoge.co.jp"> <ABCCOD>654321</ABCCOD> <DEFCOD>21</DEFCOD> </SOAPSDK4:Auth> </SOAP-ENV:Body> </SOAP-ENV:Envelope>
---- Server=>Client
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <soap:Body> <AuthResult xmlns="http://www.meitetsucom.co.jp"> <Result>OK</Result> //<−−−−−プログラムでコンストしています <sessionID>1234567890</sessionID> //<−−−−−プログラムでコンストしています </AuthResult> </soap:Body> </soap:Envelope>
---- VB.NET メソッドの定義 Public Class Order1 <XmlElement(ElementName:="Result")> Public Result As String <XmlElement(ElementName:="sessionID")> Public sessionID As String
End ClassPublic Class auth Inherits System.Web.Services.WebService
<System.Web.Services.WebMethod(EnableSession:=True, MessageName:="Auth"), _ SoapDocumentMethod("Auth", _ ResponseNamespace:="http://www.hoge.co.jp", _ RequestNamespace:="http://www.hoge.co.jp", _ Use:=SoapBindingUse.Literal, ParameterStyle:=SoapParameterStyle.Bare)> _ Public Function Auth(ByVal ABCCOD As String, _ ByVal DEFCOD As String) As Order1 Dim myOrder As Order1 = New Order1()
以下省略 ----------------------------------------------------------------------------
パラメータ、ABCCOD,DEFCODをVB.NETのメソッドにインプットする方法をご教授ください。 WSDLの定義が関係するものなのか、VB.NETでPOSTストリーミングをエレメント化するような方法はあるんでしょうか?
よろしくお願いします。
|
|