A
Andrew Tongen
Hi,
I have a question that I hope will be simple for someone to answer.
I am using soap4r to write a simple library to consume web services from
an application. The application does not include a WSDL document, so I
have to write everything by hand.
The application requires attributes in certain elements of the soap
request, and I am having a little trouble figuring out how to do this.
So far, a portion of my test code looks like this:
driver = SOAP::RPC:river.new(endpoint, 'urn:namespace')
driver.add_method_as('get_account', 'GetAccountRequest', 'account')
get_account = driver.get_account('(e-mail address removed)')
which produces this:
<n2:GetAccountRequest xmlns:n2="urn:namespace"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<account xsi:type="xsd:string">[email protected]</account>
</n2:GetAccountRequest>
but I need the soap request to look like this:
<n2:GetAccountRequest xmlns:n2="urn:namespace"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<account by="name" xsi:type="xsd:string">[email protected]</account>
</n2:GetAccountRequest>
with the by="name" attribute in the account element.
I've been experimenting with SOAP::Mapping::Registry to achieve this,
but I am not sure how it would be done, or even if this is the correct
approach to take. If anyone can offer any assistance, it would be
appreciated.
Thanks,
Andrew
I have a question that I hope will be simple for someone to answer.
I am using soap4r to write a simple library to consume web services from
an application. The application does not include a WSDL document, so I
have to write everything by hand.
The application requires attributes in certain elements of the soap
request, and I am having a little trouble figuring out how to do this.
So far, a portion of my test code looks like this:
driver = SOAP::RPC:river.new(endpoint, 'urn:namespace')
driver.add_method_as('get_account', 'GetAccountRequest', 'account')
get_account = driver.get_account('(e-mail address removed)')
which produces this:
<n2:GetAccountRequest xmlns:n2="urn:namespace"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<account xsi:type="xsd:string">[email protected]</account>
</n2:GetAccountRequest>
but I need the soap request to look like this:
<n2:GetAccountRequest xmlns:n2="urn:namespace"
env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<account by="name" xsi:type="xsd:string">[email protected]</account>
</n2:GetAccountRequest>
with the by="name" attribute in the account element.
I've been experimenting with SOAP::Mapping::Registry to achieve this,
but I am not sure how it would be done, or even if this is the correct
approach to take. If anyone can offer any assistance, it would be
appreciated.
Thanks,
Andrew