Hi,
I'm trying to call a gsoap webservice with an axis client (Axis 1.4). But when
the stub method is called, I get a "Validation constraint violation: data type
mismatch xsd:byte in element <data>" error from Axis when the following stub
method is called:
public java.lang.String CalledMethod(byte[] data) throws
java.rmi.RemoteException;
In the corresponding .h file the datatype in question was defined as follows:
struct SOAP_ENC__base64Binary {
unsigned char *__ptr;
int __size;
};
(the standard way...)
... and the function header (in the .h) looks like this:
int CalledMethod(struct SOAP_ENC__base64Binary data);
The stub method was created with "java -cp < .jar libs> -p <output directory>
sde.wsdl.
The sde.wsdl was created using "soapcpp2 -x
-I/<path-to-gsoap>/gsoap-2.7/soapcpp2/import sde.h" and looks like this:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="sde"
targetNamespace="urn:sd_hipd"
xmlns:tns="urn:sd_hipd"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sde="urn:sd_hipd"
xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:MIME="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:DIME="http://schemas.xmlsoap.org/ws/2002/04/dime/wsdl/"
xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
<schema targetNamespace="urn:sd_hipd"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sde="urn:sd_hipd"
xmlns="http://www.w3.org/2001/XMLSchema"
elementFormDefault="unqualified"
attributeFormDefault="unqualified">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
.
.
.
<!-- operation request element -->
<element name="blob" type="SOAP-ENC:base64Binary"/>
.
.
.
</types>
.
.
.
<message name="CalledMethodRequest">
<part name="blob" element="sde:blob"/>
</message>
.
.
.
<portType name="sde_cmd_executor">
<operation name="CalledMethod">
<documentation>Service definition of function
sde__CalledMethod</documentation>
<input message="tns:CalledMethodRequest"/>
<output message="tns:CalledMethodResponse"/>
</operation>
</portType>
</definitions>
Maybe I just lack experience. Is there another way to create the wsdl (e.g.
does it make a difference if document/literal is used and how can I do that)?
Or, how should it look like so that axis doesn't give me this error...?
Heiko
--
"Feel free" - 10 GB Mailbox, 100 FreeSMS/Monat ...
Jetzt GMX TopMail testen:
http://www.gmx.net/de/go/topmail?ac=OM.GX.GX003K11713T4783a
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]