Frequently Asked Questions

Why doesn't PocketSOAP de-serialize an array into an array?

Sometimes you have a SOAP response that you’d expect PocketSOAP to deserialize into an array for you, but it doesn’t. This is because its a doc/literal formatted response, and doc/literal unlike rpc/encoded there’s no standard mapping from the SOAP message to a deserialized array, so PocketSOAP can’t do anything automatically for you there. When this happens PocketSOAP will have an array of Nodes that you can iterate over yourself, or if you use the WSDL wizard, it’ll generate code to do the mapping for you. (The WSDL does contain enough information that it can do the mapping for you.)

Last Updated : 27 February 2007

Does PocketSOAP run on the PocketPC 2002 emulator ?

Versions prior to 1.4.3 don’t support the PocketPC 2002 Emulator, v1.4.3 RC1 and later do.

Last Updated : 16 March 2003

Can I stop the error I get when I use an untrusted server certificate ? (SSL)

No, there is no way to override the error thrown when you use an untrusted server certificate.

Last Updated : 5 March 2003

How do I add a new root certificate on PocketPC ? (SSL)

You can use AddRootCert.exe tool from Microsoft.

Last Updated : 5 March 2003

I tried the PocketSOAP C# sample on the Compact Framework but it doesn't work

The .NET Compact Framework doesn’t include COM Interop support, so you can’t call PocketSOAP from c# on PocketPC.

Last Updated : 5 March 2003

Why does my .NET webservice ignore the data I send it with PocketSOAP ?

By default Web Services built with ASP.NET default to a style of SOAP called document/literal. PocketSOAP by default uses a different style of SOAP called RPC/Encoded. You can either switch your ASP.NET service to RPC/Encoded mode by using the SoapRpcMethod attribute, or alternatively, you can alter your PocketSOAP code to use document/literal style messages. To do this, you typically have to do two things.

for example, if you started with say, this VBScript code
dim e
set e = CreateObject("pocketSOAP.Envelope.2")
e.setMethod "add", "http://calc.org/"
e.parameters.create "a", 10
e.parameters.create "b", 20
you would change it to this
dim e
set e = CreateObject("pocketSOAP.Envelope.2")
e.encodingStyle = ""
e.setMethod "add", "http://calc.org/"
e.parameters.create "a", 10, e.URI
e.parameters.create "b", 20, e.URI
Alternatively you can use the WSDL Wizard to generate the proxy functions for you from the WSDL that ASP.NET generates, it will autoamtically apply these changes as needed.
Last Updated : 31 May 2002