Maybe, you can try to generate a service skeleton from your modified wsdl file... ?

Jairam, Roopnaraine a écrit :

Please help…….

------------------------------------------------------------------------

*From:* Jairam, Roopnaraine
*Sent:* Monday, October 18, 2004 10:03 AM
*To:* [EMAIL PROTECTED]
*Subject:* RE: Need to let axis check if parameter is null ?

Doesn’t anyone have some insight?

Vince.

------------------------------------------------------------------------

*From:* Jairam, Roopnaraine
*Sent:* Friday, October 15, 2004 2:58 PM
*To:* [EMAIL PROTECTED]
*Subject:* RE: Need to let axis check if parameter is null ?

Thanks Timothy that made the service point to the right wsdl file now but I’m still able to pass null objects to the service I’m I specifying the wrong values in my wsdl or is there something else that needs to be done? Could you take a look the help is greatly appreciated.

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions targetNamespace="urn:ca" xmlns="http://schemas.xmlsoap.org/wsdl/"; xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:impl="urn:ca" xmlns:intf="urn:ca" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:tns2="http://objects.ca"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema";>

<wsdl:types>

<schema targetNamespace="http://objects.ca"; xmlns="http://www.w3.org/2001/XMLSchema";>

<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

<complexType name="ClientTableRecord">

<sequence>

<element name="state" nillable="false" type="xsd:string"/>

<element name="address2" nillable="false" type="xsd:string"/>

<element name="address1" nillable="false" type="xsd:string"/>

<element name="country" nillable="false" type="xsd:string"/>

<element name="vendorName" nillable="false" type="xsd:string"/>

<element name="vendorCode" nillable="false" type="xsd:string"/>

<element name="city" nillable="false" type="xsd:string"/>

<element name="clientID" nillable="false" type="xsd:string"/>

<element name="email" nillable="false" type="xsd:string"/>

<element name="zip2" nillable="false" type="xsd:string"/>

<element name="zip1" nillable="false" type="xsd:string"/>

<element name="companyName" nillable="false" type="xsd:string"/>

</sequence>

</complexType>

<complexType name="ProductTableRecord">

<sequence>

<element name="productBuild" nillable="false" type="xsd:int"/>

<element name="nodeCount" nillable="false" type="xsd:int"/>

<element name="os" nillable="false" type="xsd:string"/>

<element name="language" nillable="false" type="xsd:string"/>

<element name="clientID" nillable="false" type="xsd:string"/>

<element name="productVersion" nillable="false" type="xsd:int"/>

<element name="productName" nillable="false" type="xsd:string"/>

<element name="productCode" nillable="false" type="xsd:string"/>

</sequence>

</complexType>

<complexType name="KeyTableRecord">

<sequence>

<element name="nodes" nillable="false" type="xsd:int"/>

<element name="startDate" nillable="false" type="xsd:dateTime"/>

<element name="vendorName" nillable="false" type="xsd:string"/>

<element name="clientID" nillable="false" type="xsd:string"/>

<element name="regDate" nillable="false" type="xsd:dateTime"/>

<element name="componentCode" nillable="false" type="xsd:string"/>

<element name="oemKey" nillable="false" type="xsd:string"/>

<element name="expired" nillable="false" type="xsd:boolean"/>

<element name="key" nillable="false" type="xsd:string"/>

<element name="days" nillable="false" type="xsd:int"/>

<element name="companyName" nillable="false" type="xsd:string"/>

</sequence>

</complexType>

</schema>

<schema targetNamespace="urn:ca" xmlns="http://www.w3.org/2001/XMLSchema";>

<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>

<complexType name="RegistrationResults">

<sequence>

<element name="status" nillable="false" type="xsd:int"/>

<element name="timeStamp" nillable="false" type="xsd:int"/>

<element name="key" nillable="false" type="xsd:string"/>

<element name="days" nillable="false" type="xsd:int"/>

<element name="clientID" nillable="false" type="xsd:string"/>

</sequence>

</complexType>

<complexType name="ArrayOf_tns2_KeyTableRecord">

<complexContent>

<restriction base="soapenc:Array">

<attribute ref="soapenc:arrayType" wsdl:arrayType="tns2:KeyTableRecord[]"/>

</restriction>

</complexContent>

</complexType>

<complexType name="VerificationResults">

<sequence>

<element name="status" nillable="false" type="xsd:int"/>

<element name="violationCode" nillable="false" type="xsd:int"/>

<element name="days" nillable="false" type="xsd:int"/>

</sequence>

</complexType>

</schema>

</wsdl:types>

<wsdl:message name="registerLicenseRequest">

<wsdl:part name="in0" type="tns2:ClientTableRecord"/>

<wsdl:part name="in1" type="tns2:ProductTableRecord"/>

<wsdl:part name="in2" type="tns2:KeyTableRecord"/>

</wsdl:message>

<wsdl:message name="registerLicenseResponse">

<wsdl:part name="registerLicenseReturn" type="impl:RegistrationResults"/>

</wsdl:message>

<wsdl:message name="verifyLicenseRequest">

<wsdl:part name="in0" type="xsd:string"/>

<wsdl:part name="in1" type="impl:ArrayOf_tns2_KeyTableRecord"/>

</wsdl:message>

<wsdl:message name="verifyLicenseResponse">

<wsdl:part name="verifyLicenseReturn" type="impl:VerificationResults"/>

</wsdl:message>

<wsdl:portType name="LicenseSystem">

<wsdl:operation name="registerLicense" parameterOrder="in0 in1 in2">

<wsdl:input message="impl:registerLicenseRequest" name="registerLicenseRequest"/>

<wsdl:output message="impl:registerLicenseResponse" name="registerLicenseResponse"/>

</wsdl:operation>

<wsdl:operation name="verifyLicense" parameterOrder="in0 in1">

<wsdl:input message="impl:verifyLicenseRequest" name="verifyLicenseRequest"/>

<wsdl:output message="impl:verifyLicenseResponse" name="verifyLicenseResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="LicenseSystemSoapBinding" type="impl:LicenseSystem">

<wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="registerLicense">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="registerLicenseRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:ca" use="encoded"/>

</wsdl:input>

<wsdl:output name="registerLicenseResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:ca" use="encoded"/>

</wsdl:output>

</wsdl:operation>

<wsdl:operation name="verifyLicense">

<wsdlsoap:operation soapAction=""/>

<wsdl:input name="verifyLicenseRequest">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:ca" use="encoded"/>

</wsdl:input>

<wsdl:output name="verifyLicenseResponse">

<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="urn:ca" use="encoded"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name="LicenseSystemService">

<wsdl:port binding="impl:LicenseSystemSoapBinding" name="LicenseSystem">

<wsdlsoap:address location="http://fries/axis/services/LicenseSystem"/>

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

Vince.

------------------------------------------------------------------------

*From:* Barlotta, Timothy - Arlington, VA - Contractor [mailto:[EMAIL PROTECTED]
*Sent:* Friday, October 15, 2004 2:17 PM
*To:* [EMAIL PROTECTED]
*Subject:* RE: Need to let axis check if parameter is null ?


If you have an object like Integer, String, Long, etc... Axis will set the nillable="true" for you since the Java code can accept a null value.

You should let Axis generate the WSDL. Save it off. Then modify it to your needs. Then in the .wsdd file specify that you want to use a static wsdl file (put it in WEB-INF/classes so Axis can see it). Use the modified wsdl.

Specify in wsdd like this:

<service name="MyService" provider="java:RPC">
<wsdlFile>/MyModifiedWSDLFile.wsdl</wsdlFile>

....

</service>

    -----Original Message-----
    *From:* Jairam, Roopnaraine [mailto:[EMAIL PROTECTED]
    *Sent:* Friday, October 15, 2004 2:13 PM
    *To:* [EMAIL PROTECTED]
    *Subject:* RE: Need to let axis check if parameter is null ?

    Has anyone done something like this and can give me some pointers.

    Vince.

    ------------------------------------------------------------------------

    *From:* Jairam, Roopnaraine
    *Sent:* Thursday, October 14, 2004 2:59 PM
    *To:* [EMAIL PROTECTED]
    *Subject:* Need to let axis check if parameter is null ?

    Is it possible to make axis check if a parameter is null. I don’t
    want the webservice to be called with null values. I have the
    service receiving complex types and I want all the elements to be
    mandatory.

    <complexType name="ClientTableRecord">

    <sequence>

    <element name="state" nillable="true" type="xsd:string"/>

    <element name="address2" nillable="true" type="xsd:string"/>

    <element name="address1" nillable="true" type="xsd:string"/>

    <element name="country" nillable="true" type="xsd:string"/>

    <element name="vendorName" nillable="true" type="xsd:string"/>

    <element name="vendorCode" nillable="true" type="xsd:string"/>

    <element name="city" nillable="true" type="xsd:string"/>

    <element name="clientID" nillable="true" type="xsd:string"/>

    <element name="email" nillable="true" type="xsd:string"/>

    <element name="zip2" nillable="true" type="xsd:string"/>

    <element name="zip1" nillable="true" type="xsd:string"/>

    <element name="companyName" nillable="true" type="xsd:string"/>

    </sequence>

    </complexType>

    I know that the nillable property should be set to true but that
    is what the wsdl2java tool generated. I changed the nillable
    property by hand and set to false but when I deploy the service
    the wsdl is still nillable=true.

    I not sure but does it have anything to do with the
    ClientTableRecord object. My constructor for that class original
    had all the members eg.

    public ClientTableRecord(String clientID,

    String companyName,

    String address1,

    String address2,

    String city,

    String state,

    String zip1,

    String zip2,

    String country,

    String email,

    String vendorName,

    String vendorCode)

    But then the java2wsdl tool complained that - The class
    ca.objects.ClientTableRecord does not contain a default
    constructor, which is a requirement for a bean class. The class
    cannot be converted into an xml schema type. An xml schema anyType
    will be used to define this class in the wsdl file. So I inserted
    the default constructor for the class and ran the java2wsdl
    without any errors.

    Does anyone have any suggestions or insights for this problem,
    basically I don’t want the service checking for the necessary
    elements it should already be taken care of.

    Vince.




Reply via email to