I am using Cape Clear SOA editor, and the wsdl validates. I am also using apache axis 1.2 beta 2 to generate server side and client side stubs (with tomcat 5.0.19).
I will attach wsdl, and my client.
Thanks for your help Ann. I always take time to read yours and dims responses. Thanks for posting to this list.
Thanks, (hector) Raul
Anne Thomas Manes wrote:
Did you define an element in your types section called “ClaimDetail”?
It should be defined as:
<xsd:element name=”ClaimDetail” type=”types:ClaimDetailType”/>
Anne
------------------------------------------------------------------------
*From:* Hector Flores [mailto:[EMAIL PROTECTED] *Sent:* Friday, August 27, 2004 5:51 PM *To:* Axis Users Group *Subject:* swaRef URI initialization "Whats the right WSDL for MIME"
I am trying to do attachments via the recent AP 1.0 SwA profile but need some help in creating the URI object.
Not sure what to do here.
I am using the wsdl for doc/literal which was previously posted on this site for "What's the right WSDL for MIME" (also found in the AP 1.0)
<xsd:complexType name="ClaimDetailType">
<xsd:sequence>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="ClaimForm" type="ref:swaRef"/>
</xsd:sequence>
</xsd:complexType>
<wsdl:message name="ClaimIn">
<wsdl:part name="body" element="types:ClaimDetail"/>
**<wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/>**
</wsdl:message>
Currently when I try and call the server I get an exception:
[java] upload Test:
[java] Exception: org.xml.sax.SAXException: Invalid element in com.lmtas.swa.services.ClaimDeta
ilType - ClaimDetail
[java] AxisFault
[java] faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
[java] faultSubcode:
[java] faultString: org.xml.sax.SAXException: Invalid element in com.lmtas.swa.services.ClaimD
etailType - ClaimDetail
[java] faultActor:
[java] faultNode:
[java] faultDetail:
[java] {http://xml.apache.org/axis/}hostname:raul
[java] org.xml.sax.SAXException: Invalid element in com.lmtas.swa.services.ClaimDetailType - Cl
aimDetail
[java] at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:223)
[java] at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:130)
[java] at org.apache.axis.encoding.DeserializationContextImpl.endElement(DeserializationCon
textImpl.java:1060)
[java] at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1712)
[java] at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
[java] at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
[java] at org.apache.crimson.parser.Parser2.content(Parser2.java:1963)
[java] at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1691)
[java] at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:667)
[java] at org.apache.crimson.parser.Parser2.parse(Parser2.java:337)
[java] at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448)
[java] at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
[java] at org.apache.axis.encoding.DeserializationContextImpl.parse(DeserializationContextI
mpl.java:218)
[java] at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:646)
[java] at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
[java] at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.
java:62)
[java] at org.apache.axis.client.AxisClient.invoke(AxisClient.java:173)
[java] at org.apache.axis.client.Call.invokeEngine(Call.java:2735)
[java] at org.apache.axis.client.Call.invoke(Call.java:2718)
[java] at org.apache.axis.client.Call.invoke(Call.java:2394)
[java] at org.apache.axis.client.Call.invoke(Call.java:2317)
[java] at org.apache.axis.client.Call.invoke(Call.java:1774)
[java] at com.lmtas.swa.client.SWAServiceBindingStub.sendClaim(SWAServiceBindingStub.java:1
60)
[java] at swaClientTest.main(swaClientTest.java:39)
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="SWAService"
targetNamespace="http://com.lmtas.swa.services"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:ref="http://ws-i.org/profiles/basic/1.1/xsd"
xmlns:soapbind="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://com.lmtas.swa.services"
xmlns:types="http://com.lmtas.swa.services"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">RAUL FLORES SERVICE</wsdl:documentation>
<wsdl:types>
<xsd:schema
targetNamespace="http://com.lmtas.swa.services"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<!-- <xsd:import namespace="http://ws-i.org/profiles/basic/1.1/xsd"/> -->
<xsd:import
namespace="http://ws-i.org/profiles/basic/1.1/xsd"
schemaLocation="wsi-bp1.1.xsd"/>
<xsd:element name="ClaimRefNo" type="xsd:string"/>
<xsd:complexType name="ClaimDetailType">
<xsd:sequence>
<xsd:element name="Name" type="xsd:string"/>
<xsd:element name="ClaimForm" type="ref:swaRef"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ClaimDetail" type="types:ClaimDetailType"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="ClaimOut">
<wsdl:part element="tns:ClaimRefNo" name="out"/>
</wsdl:message>
<wsdl:message name="ClaimIn">
<wsdl:part element="tns:ClaimDetail" name="body"/>
<wsdl:part name="ClaimPhoto" type="xsd:base64Binary"/>
</wsdl:message>
<wsdl:portType name="SWAServicePortType">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">All the operations</wsdl:documentation>
<wsdl:operation name="SendClaim">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">This operation does have an attachment with it</wsdl:documentation>
<wsdl:input message="tns:ClaimIn"/>
<wsdl:output message="tns:ClaimOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="SWAServiceBinding" type="tns:SWAServicePortType">
<soapbind:binding
style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="SendClaim">
<soapbind:operation
soapAction="capeconnect:SWAService:SWAServicePortType#SendClaim"/>
<wsdl:input>
<mime:multipartRelated>
<mime:part>
<soapbind:body parts="body" use="literal"/>
</mime:part>
<mime:part>
<mime:content part="ClaimPhoto" type="application/octet-stream"/>
</mime:part>
</mime:multipartRelated>
</wsdl:input>
<wsdl:output>
<soapbind:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="SWAService">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">SWA Service documentation HECTOR RAUL FLORES</wsdl:documentation>
<wsdl:port binding="tns:SWAServiceBinding" name="SWAServicePort">
<soapbind:address location="http://raul:8080/swa/SWAService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>import com.lmtas.swa.client.*;
import org.apache.axis.attachments.*;
import javax.mail.internet.MimeMultipart;
import javax.activation.*;
import com.lmtas.swa.client.*;
import java.io.*;
import java.lang.*;
import java.util.*;
public class swaClientTest {
public swaClientTest() {
}
public static void main(String[] args) {
System.out.println("\n\nswaClientTest: MAIN\n");
try {
SWAServiceLocator locator = new SWAServiceLocator();
locator.setSWAServicePortEndpointAddress("http://localhost:8080/swa/services/SWAServicePort");
SWAServiceBindingStub stub = (SWAServiceBindingStub) locator.getSWAServicePort();
//stub.setMaintainSession(true);
System.out.println("upload Test: ");
org.apache.axis.types.URI uri = new org.apache.axis.types.URI("cid","[EMAIL
PROTECTED]");
com.lmtas.swa.client.ClaimDetailType cdt = new ClaimDetailType("Hello",uri);
DataHandler Dh = new DataHandler( new FileDataSource("C:/readme.txt"));
String refNo = stub.sendClaim (cdt,Dh);
}
catch (Exception e) {
System.out.println("Exception: " + e.getMessage());
e.printStackTrace();
}
}
}
