<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CreateAccessKey xmlns="https://gateway.acheck21.com/">
<FrontEndID>string</FrontEndID>
<ClientID>string</ClientID>
<Username>string</Username>
<Password>string</Password>
</CreateAccessKey>
</soap:Body>
</soap:Envelope>
But Builder formats it as:
<?xml version="1.0"?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NS1:CreateAccessKey xmlns:NS1="https://gateway.acheck21.com">
<FrontEndID>string</FrontEndID>
<ClientID>string</ClientID>
<Username>string</Username>
<Password>string</Password>
</NS1:CreateAccessKey>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
I'm sure there is a name for this, but I don't know what it is. Is there
anyone who can help me fix it? Thanks.
Don
Did you ever find a fix for this? We're having the exact same problem?
PMFJI.
The issue between
> > <CreateAccessKey xmlns="https://gateway.acheck21.com/">
> > <FrontEndID>string</FrontEndID>
and
> > <NS1:CreateAccessKey xmlns:NS1="https://gateway.acheck21.com">
> > <FrontEndID>string</FrontEndID>
... is the <FrontEndID> (and ClientID, Username, etc) are in the wrong
namespace. The whole area of element namespace was not properly handled in
CBuilder6, where the focus was rpc|encoded service where this is not an
issue [rpc|encoded services rely on the xsi:type="xxxxx" attribute].
The good news is that this issue was addressed in a later version. The bad
news is that the fix was never ported back to CBuilder6. I investigated but
the SOAP interface changed so much after v6.0 [to accommodate things such as
attachments/headers/etc] that it was not possible to take the changes while
remaining interface-compatible without going through some meticulous
handling of merge-conflicts.
You can find a copy of the updated runtime that contains fixes for element
namespaces at this URL:
http://cc.codegear.com/Item/24535
But I'm afraid you won't be able to use these runtime updates as is.
I'm afraid the easier route is to use the OnBeforeExecute event to tweak the
XML packet. This approach is acceptable if you have only a few methods. When
accessing several methods of a large service (such as Amazon or eBay), this
approach is unmanageable.
If you can give me some additional info. about your setup (like are you
using packages or linking with the libraries? accessing a few or many
methods of the service? etc), I'll try to suggest some workarounds.
Cheers,
Bruneau.