Hej
Utvecklar en webbtjänst som tar emot soap meddelanden från en annan webbtjänst, en Java/Axis sådan.
För att ta ett exempel så skickar Axis tjänsten följande SOAP:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:verifyCustomer soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="urn:ERPService">
<invocationcontext xsi:type="ns1:InvocationContext">
<password xsi:type="xsd:string">hejhopp</password>
<afwid xsi:type="xsd:string">ettforetagsnamn</afwid>
<transactionid xsi:type="xsd:long">1922667</transactionid>
</invocationcontext>
<customerno xsi:type="xsd:string">4712</customerno>
</ns1:verifyCustomer>
</soapenv:Body>
</soapenv:Envelope>
Jag i min ände, har gjort en metod som tar emot detta. I korthet ser den ut så här:
[WebMethod]
public CustomerResult verifyCustomer(InvokationContext invokationcontext, string customerNo)
{
//Kod här
}
Grejen är den att jag inte får med parametrarna in i funktionen.
Efter lite labbande med soap meddelandet ovan, så visar det sig att om jag tar bort referenser till "ns1:" så funkar det fint.
Min metod förväntar sig det här meddelandet:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<verifyCustomer soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns="urn:ERPService">
<invocationcontext xsi:type="InvocationContext">
<password xsi:type="xsd:string">hejhopp</password>
<afwid xsi:type="xsd:string">ettforetagsnamn</afwid>
<transactionid xsi:type="xsd:long">1922667</transactionid>
</invocationcontext>
<customerno xsi:type="xsd:string">4712</customerno>
</ns1:verifyCustomer>
</soapenv:Body>
</soapenv:Envelope>
Vad är "ns1:" prefixet i orginal meddelandet? Hur kan jag lägga till/klippa bort det för att få min metod att fungera?
Tacksam för snabbt svar!
:)