[ASP - SOAP] - Krijg een reply maar kan 'm niet opvangen?

Pagina: 1
Acties:
  • 127 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Nutcaze
  • Registratie: Oktober 1999
  • Laatst online: 16-08 06:35
Ik maak met de volgende code een soapcall naar een lokale webservice:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
WSDL = "http://server-03/ws_prod/services/momservice.asmx?wsdl"
SoapService = "MomService"
SoapPort = "MomServiceSoap"

Set SoapClient = Server.CreateObject("MSSOAP.SoapClient30")
SoapClient.ClientProperty("ServerHTTPRequest") = True
Call SoapClient.mssoapinit (WSDL, SoapService, SoapPort)
If Err <> 0 Then
    Response.write "initialization failed " & Err.Description
Else
    Set xmlResponse = Server.CreateObject("MSXML.DOMDocument")
    a = SoapClient.SendMessage(KentekenString)
    Response.Write(xmlResponse.XML)
    Set xmlResponse = Nothing
End If
Set SoapClient = Nothing


KentekenString is kennelijk een geldig bericht want de soap-service accepteert het. Met een TCP sniffer kan ik zien dat het volgende bericht over de lijn gaat:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
HTTP/1.1 200 OK
Date: Fri, 31 Aug 2007 08:39:21 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 2785

<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://schemas.ccs.nl/services/momservice" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://schemas.ccs.nl/services/momservice" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://schemas.ccs.nl/services/momservice">
      <s:element name="SendMessage">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="request">
              <s:complexType mixed="true">
                <s:sequence>
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="SendMessageResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="SendMessageResult">
              <s:complexType mixed="true">
                <s:sequence>
                  <s:any />
                </s:sequence>
              </s:complexType>
            </s:element>
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="SendMessageSoapIn">
    <wsdl:part name="parameters" element="tns:SendMessage" />
  </wsdl:message>
  <wsdl:message name="SendMessageSoapOut">
    <wsdl:part name="parameters" element="tns:SendMessageResponse" />
  </wsdl:message>
  <wsdl:portType name="MomServiceSoap">
    <wsdl:operation name="SendMessage">
      <wsdl:input message="tns:SendMessageSoapIn" />
      <wsdl:output message="tns:SendMessageSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="MomServiceSoap" type="tns:MomServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document" />
    <wsdl:operation name="SendMessage">
      <soap:operation soapAction="http://schemas.ccs.nl/services/momservice/SendMessage" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="MomService">
    <wsdl:port name="MomServiceSoap" binding="tns:MomServiceSoap">
      <soap:address location="http://server-03/ws_prod/services/momservice.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>HTTP/1.1 200 OK
Date: Fri, 31 Aug 2007 08:39:25 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 1.1.4322
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 1305

<?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><SendMessageResponse xmlns="http://schemas.ccs.nl/services/momservice"><SendMessageResult><envelope senderid="bo" receiverid="fo" xmlns=""><header><medewerker><naam>xxx</naam><wachtwoord>xxxx</wachtwoord><account>xx</account><bedrijfsnummer>2</bedrijfsnummer><tussenpersoonnummer>999</tussenpersoonnummer><meerderetp /></medewerker><date /><processtime>3500</processtime></header><response><action name="voertuiggegevensisa" order="1"><resultaat dt="log" ro="y">Ja</resultaat><mr dt="obj"><bouwjaar dt="int">1999</bouwjaar><brandstofcode dt="chr">D</brandstofcode><carrosserietype dt="chr">SE4</carrosserietype><cylinderinhoud dt="int">2460</cylinderinhoud><dagwaarde dt="int">4800</dagwaarde><gewicht dt="int">1604</gewicht><isagebruik dt="chr">J</isagebruik><merk dt="chr">VOLVO</merk><merkalarm dt="chr">00</merkalarm><model dt="chr">S80</model><motorvermogen dt="int">103</motorvermogen><type dt="chr">2.5 D AUT</type><verzekerdbedragcasco dt="int">43200</verzekerdbedragcasco></mr></action></response></envelope></SendMessageResult></SendMessageResponse></soap:Body></soap:Envelope>


Echter op de regel waar ik dus het resultaat van die soapcall wil opvangen loopt het fout met de volgende melding:

Runtimefout Microsoft VBScript error '800a01c2'

Onjuist aantal argumenten of ongeldige eigenschaptoewijzingen

Oftewel de soap call gaat goed maar ik kan het resultaat niet opvangen. Iemand enig idee hoe dit kan? Ik heb het eerder meegemaakt maar nooit een oplossing gevonden. Enige oplossing die ik weet is een POST maken met server.XMLhttp maar dat is niet de bedoeling.

De alleronderste regel van het bericht wat ik over de lijn zie gaan gaat het mij om (die xml met voertuiggegevens)

Not all chemicals are bad. Without hydrogen or oxygen, for example, there would be no way to make water, a vital ingredient in beer.


Acties:
  • 0 Henk 'm!

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Hoogstwaarschijnlijk kun je het probleem oplossen door de webservice te refreshen. De webservice zal naar alle waarschijnlijkheid zijn gewijzigd waardoor de gegenereede interface niet meer overeenkomt.

If it isn't broken, fix it until it is..