Jim,

#1: There's no declaration for the tns3: namespace. Do you have a schema
that defines the Exception type as referenced by the second schema element?

     <schema targetNamespace="http://xmlife.acord.org";
            xmlns="http://www.w3.org/2001/XMLSchema";>
        <import namespace="http://schemas.xmlsoap.org/soap/encoding/"; />
        <complexType name="OLifEException">
           <sequence>
  --->  <element name="hiddenException" nillable="true" type="tns3:Exception"
/>
              <element name="message" nillable="true" type="xsd:string" />
           </sequence>
        </complexType>
      </schema>

Somewhere you have to define this type. (as you say, it should work with
xsd:anyType instead)

#2: I think this problem is caused by the first schema element:

    <schema targetNamespace=""
           xmlns="http://www.w3.org/2001/XMLSchema";>
        <import namespace="http://schemas.xmlsoap.org/soap/encoding/"; />
        <element name="processTXLife" type="xsd:anyType" />
        <element name="processTXLifeReturn" type="xsd:anyType" />
        <element name="fault" type="tns1:ProcessException" />
    </schema>

First of all, I recommend that you give it a targetNamespace.
    <schema targetNamespace="this-uri"
Second you need to add this namespace to your list of namespaces.
     <definitions ...
          xmlns:tns0="this-uri"
Third, you need to change the processTXLife element definition to
type=tns4:TXLife.
        <element name="processTXLife" type="tns4:TXLife" />
Fourth, you need to import the TXLife2.7.00.xsd
        <import namespace="TXLife-schema-namespace-uri"
location="schema-location-url"
Fifth, you need to add this namespace to your list of namespaces.
     <definitions ...
          xmlns:tns4="TXLife-schema-namespace-uri"
Then I think it ought to work. You might want to add the tns0: namespace
qualifiers to the elements named in your message definitions.

  <wsdl:message name="processTXLifeResponse">
       <wsdl:part element="tns0:processTXLifeReturn"
name="processTXLifeReturn" />
  </wsdl:message>

  <wsdl:message name="processTXLifeRequest">
        <wsdl:part element="tns0:processTXLife" name="part" />
  </wsdl:message>

Good luck,
Anne


> -----Original Message-----
> From: Brain, Jim [mailto:[EMAIL PROTECTED]
> Sent: Friday, March 07, 2003 1:31 AM
> To: AXIS Mailing List (E-mail)
> Subject: Need help with Doc/Lit web service
>
>
> Wrote a message based service using /samples/message
> Has one API, processTXLife(Element[] e)
>
> Wrote code, deployed using style=message, have been using it fine
> from Java.
> Under beta1, ?WSDL would gen an error
> Just upgraded to RC2, no more WSDL error
> WSDL is listed below
> Now, the .NET guys say there are issues.
>
> 1)    the tns3:Exception namespace is unqualified.  Not sure what I should
> do, but can replace with xsd:anyType and seems to get farther
> 2)    Main issue.  ProcessTXLife() should take an element of type:
> TXLife, which is a top level element in TXLife2.7.00.xsd, but in WSDL, in
> and out are listed as anyType.  .NET thus creates the C# stubs,
> and sends an
> anyType as the top level element in <Body>.  Not good.  What I
> want to do is
> massage the WSDL so that .NET knows that TXLife should be the
> root element,
> and list the schema for TXLife.
>
> Have spent all night trying to get .NET to like the WSDL.  With
> #1 done and
> #2 not started, .NET wsdl.exe complains that
>
> C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin>wsdl.exe
> c:\temp\
> jim.wsdl
> Microsoft (R) Web Services Description Language Utility
> [Microsoft (R) .NET Framework, Version 1.0.3705.0]
> Copyright (C) Microsoft Corporation 1998-2001. All rights reserved.
>
> Error: Unable to import binding 'TXLifeProcessorServiceSoapBinding' from
> namespa
> ce 'http://localhost:8080/axis/services/TXLifeProcessorService'.
>   - Unable to import operation 'processTXLife'.
>   - The element 'http://schemas.xmlsoap.org/wsdl/:processTXLife'
> is missing.
>
> If you would like more help, please type "wsdl /?".
>
> No clue why.  Can't get rid of that error, and if I try replace the
>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="processTXLifeResponse">
>         <wsdl:part element="processTXLifeReturn"
> name="processTXLifeReturn" />
>   </wsdl:message>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="processTXLifeRequest">
>         <wsdl:part element="processTXLife" name="part" />
>   </wsdl:message>
>
> with
>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="processTXLifeResponse">
>         <wsdl:part element="tx:TXLife" name="processTXLifeReturn" />
>   </wsdl:message>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="processTXLifeRequest">
>         <wsdl:part element="tx:TXLife" name="part" />
>   </wsdl:message>
>
> with tx defined as the location for the TXLife XSD, .NET starts
> complaining
> about can't find  the schema associated with TXLife
>
> I'd put if off fo a few days, but the prj goes to prod on Monday, and this
> is holding the whole thing up.  Any AXIS .NET people out there who could
> help?
>
> Jim
>
>
>
>   <?xml version="1.0" encoding="UTF-8" ?>
> - <http://localhost:8080/axis/services/>  <wsdl:definitions
> targetNamespace="http://localhost:8080/axis/services/TXLifeProcess
> orService"
> xmlns="http://schemas.xmlsoap.org/wsdl/";
> xmlns:apachesoap="http://xml.apache.org/xml-soap";
> xmlns:impl="http://localhost:8080/axis/services/TXLifeProcessorService";
> xmlns:intf="http://localhost:8080/axis/services/TXLifeProcessorService";
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/";
> xmlns:tns1="http://processing.xmlife.acord.org";
> xmlns:tns2="http://xmlife.acord.org";
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
> xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/";
> xmlns:xsd="http://www.w3.org/2001/XMLSchema";>
> - <http://localhost:8080/axis/services/>  <wsdl:types>
>       - <http://localhost:8080/axis/services/>  <schema targetNamespace=""
> xmlns="http://www.w3.org/2001/XMLSchema";>
>                 <import
> namespace="http://schemas.xmlsoap.org/soap/encoding/"; />
>                 <element name="processTXLife" type="xsd:anyType" />
>                 <element name="processTXLifeReturn" type="xsd:anyType" />
>                 <element name="fault" type="tns1:ProcessException" />
>         </schema>
>       - <http://localhost:8080/axis/services/>  <schema
> targetNamespace="http://xmlife.acord.org";
> xmlns="http://www.w3.org/2001/XMLSchema";>
>                 <import
> namespace="http://schemas.xmlsoap.org/soap/encoding/"; />
>               - <http://localhost:8080/axis/services/>  <complexType
> name="OLifEException">
>               - <http://localhost:8080/axis/services/>  <sequence>
>                         <element name="hiddenException" nillable="true"
> type="tns3:Exception" />
>                         <element name="message" nillable="true"
> type="xsd:string" />
>                 </sequence>
>                 </complexType>
>         </schema>
>       - <http://localhost:8080/axis/services/>  <schema
> targetNamespace="http://processing.xmlife.acord.org";
> xmlns="http://www.w3.org/2001/XMLSchema";>
>                 <import
> namespace="http://schemas.xmlsoap.org/soap/encoding/"; />
>               - <http://localhost:8080/axis/services/>  <complexType
> name="ProcessException">
>               - <http://localhost:8080/axis/services/>  <complexContent>
>                       - <http://localhost:8080/axis/services/>  <extension
> base="tns2:OLifEException">
>                               - <http://localhost:8080/axis/services/>
> <sequence>
>                                 <element name="errorCode" type="xsd:int"
> />
>                                 </sequence>
>                         </extension>
>                 </complexContent>
>                 </complexType>
>         </schema>
>   </wsdl:types>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="ProcessException">
>         <wsdl:part element="fault" name="fault" />
>   </wsdl:message>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="processTXLifeResponse">
>         <wsdl:part element="processTXLifeReturn"
> name="processTXLifeReturn" />
>   </wsdl:message>
> - <http://localhost:8080/axis/services/>  <wsdl:message
> name="processTXLifeRequest">
>         <wsdl:part element="processTXLife" name="part" />
>   </wsdl:message>
> - <http://localhost:8080/axis/services/>  <wsdl:portType
> name="TXLifeProcessorService">
>       - <http://localhost:8080/axis/services/>  <wsdl:operation
> name="processTXLife">
>                 <wsdl:input message="impl:processTXLifeRequest"
> name="processTXLifeRequest" />
>                 <wsdl:output message="impl:processTXLifeResponse"
> name="processTXLifeResponse" />
>                 <wsdl:fault message="impl:ProcessException"
> name="ProcessException" />
>         </wsdl:operation>
>   </wsdl:portType>
> - <http://localhost:8080/axis/services/>  <wsdl:binding
> name="TXLifeProcessorServiceSoapBinding"
> type="impl:TXLifeProcessorService">
>         <wsdlsoap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"; />
>       - <http://localhost:8080/axis/services/>  <wsdl:operation
> name="processTXLife">
>                 <wsdlsoap:operation soapAction="" />
>               - <http://localhost:8080/axis/services/>  <wsdl:input
> name="processTXLifeRequest">
>                 <wsdlsoap:body
> namespace="http://localhost:8080/axis/services/TXLifeProcessorService";
> use="literal" />
>                 </wsdl:input>
>               - <http://localhost:8080/axis/services/>  <wsdl:output
> name="processTXLifeResponse">
>                 <wsdlsoap:body
> namespace="http://localhost:8080/axis/services/TXLifeProcessorService";
> use="literal" />
>                 </wsdl:output>
>               - <http://localhost:8080/axis/services/>  <wsdl:fault
> name="ProcessException">
>                 <wsdlsoap:fault use="literal" />
>                 </wsdl:fault>
>         </wsdl:operation>
>   </wsdl:binding>
> - <http://localhost:8080/axis/services/>  <wsdl:service
> name="TXLifeProcessorServiceService">
>       - <http://localhost:8080/axis/services/>  <wsdl:port
> binding="impl:TXLifeProcessorServiceSoapBinding"
> name="TXLifeProcessorService">
>                 <wsdlsoap:address
> location="http://localhost:8080/axis/services/TXLifeProcessorService"; />
>         </wsdl:port>
>   </wsdl:service>
>   </wsdl:definitions>
>
>
>
> Jim Brain, [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> "Researching tomorrow's decisions today."
> (319) 369-2070 (work)
> Systems Architect, ITS, AEGON Financial Partners
>

Reply via email to