You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Murad <ma...@gmail.com> on 2005/03/01 11:04:42 UTC

Re: Document/Literal problem with .NET client

Dear Dino,

Thank you very much for your valuable response.Following is the
service class definition.With this service class I provided two sets
of service
definitions in the wsdd file which are enclosed below along with their
corresponding generated wsdl.Scenario 1 is with
the document/literal encoding which gives the problem mentioned in my
previous mail.And Scenario 2 is the default
encoding scheme(which I believe is rpc/literal).In scenaio 2
everything is working nice and smooth.With Scenario 1 I have
following observations:

i.In running add method everything is working nice but the return
value in the .NET client I am getting null

ii.One of my methods have methods(getAllIRType) with Complex data data
array as return type. In generated proxy class(by wsdl tool)
I find return type becomes a simple DTO(without the array sign)

iii. Strange to that when the return type is object type in the proxy
class things are ok.

With the first scenrio I tested it with .NET web service studio and
provide u a sample of
request and response(take it from the Web Service Studio) but I am
seeing the result object
is null. 
 

Service class definition ::




/*
 * Copyright (C) 2004 Sikraft Solutions Ltd. All  Rights Reserved.
 *
 * This software is the confidential and proprietary information
 * of Sikraft Solutions Ltd.
 * You shall not disclose such Confidential Information and shall use
 * it only in accordance with the terms of the license agreement
 * you entered into with Sikraft.
 */
package com.sikraft.ihis.inpatient.roomtype;

import java.util.List;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import com.sikraft.welkin.business.Result;
import com.sikraft.welkin.business.ServiceFacade;
import com.sikraft.welkin.exception.GenericException;
import com.sikraft.welkin.service.BaseJaxRPCService;


/**
 * Exposes the Inpatient RoomType related service to the external world
 * @author Ahad
 * @version 1.0
 */
public class JaxRpcIRTypeService
    extends BaseJaxRPCService
{
  private static Log theLogger = LogFactory.getLog(JaxRpcIRTypeService.class);
  public static final String SERVICE_NAME = "irtypeService";

  /**
   * creates a room type in the system
   *
   * @param theData PersistantCapableDTO
   */
  public Result add(IRTypeDTO theData) throws GenericException
  {
    return provideService(theData, SERVICE_NAME, ServiceFacade.SERVICE_ADD);
  }

  /**
   * update a room type info existing in the system
   *
   * @param theData PersistantCapableDTO
   */
  public Result modify(IRTypeDTO theData) throws GenericException
  {
    return provideService(theData, SERVICE_NAME, ServiceFacade.SERVICE_MODIFY);
  }

  /**
   * provides all room type of the system
   *
   * @return allIRType List
   */
  public IRTypeDTO[] getAllIRType() throws GenericException
  {
    List allIRType = ( (IIRTypeService)
getService(SERVICE_NAME)).getIrtypeDAO().getAllIRType();
    IRTypeDTO  allIRTypeArray[] = (IRTypeDTO[]) allIRType.toArray(new
IRTypeDTO[allIRType.size()]);
    return  allIRTypeArray;
  }
  public IRTypeDTO findById(Long id)throws GenericException
  {
     theLogger.trace("findById() :: " + id);
     Object obj = findDTOById(IRTypeDTO.class,id);
     theLogger.trace("findById() :: " + obj);
     return (IRTypeDTO)obj;
  }
  public IRTypeDTO[] findIRTypes(String hqlQueryCondition,Object
params[])throws GenericException//Specific field Search
  {
    List searchedDepartments =
findPersistantCapableDTOs(IRTypeDTO.class.getName(),hqlQueryCondition,params);
    return (IRTypeDTO[])searchedDepartments.toArray(new
IRTypeDTO[searchedDepartments.size()]);
  }
  public Object[][] findSpecificDataWithFullValue(String
fieldNames[],String fieldValues[],String returnFieldNames[])
  {
    return super.findSpecificData(fieldNames,fieldValues,returnFieldNames,IRTypeDTO.class);
  }
  public Object[][] findSpecificDataWithPatialValue(String
fieldName,String partialOrFullFieldValue,String returnFieldNames[])
  {
    return super.findSpecificData(fieldName,partialOrFullFieldValue,returnFieldNames,IRTypeDTO.class);
  }

}

With a above code base followings are two scenarios:
 
Scenario 01. (document/literal)

01.a.

Service Element defined in wsdd ::

 <service name="IRTypeService" provider="java:RPC" style="document"
use="literal">
       <namespace>urn:ihis</namespace>
       <parameter name="allowedMethods" value="*"/>
       <parameter name="scope" value="session"/>
       <parameter name="className"
value="com.sikraft.ihis.inpatient.roomtype.JaxRpcIRTypeService"/>
       <beanMapping qname="ihis:IRTypeDTO" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.ihis.inpatient.roomtype.IRTypeDTO"/>
       <beanMapping qname="ihis:PersistantCapable"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.business.PersistantCapable"/>
       <beanMapping qname="ihis:PersistantCapableDTO"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.business.PersistantCapableDTO"/>
       <beanMapping qname="ihis:BusinessEntity" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.ihis.common.BusinessEntity"/>
       <beanMapping qname="ihis:SearchCapableDTO"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.search.SearchCapableDTO"/>
       <beanMapping qname="ihis:SearchableBusinessEntity"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.ihis.common.SearchableBusinessEntity"/>
       <beanMapping qname="ihis:Result" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.business.Result"/>
       <beanMapping qname="ihis:GenericException"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.exception.GenericException"/>
       <beanMapping qname="ihis:SystemException" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.exception.SystemException"/>
       <beanMapping qname="ihis:BusinessRuleException"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.exception.BusinessRuleException"/>
  </service>

01.b. WSDL with the above service element definition


  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions targetNamespace="urn:ihis"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:ihis" xmlns:intf="urn:ihis"
xmlns:tns1="http://lang.java"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!-- 
WSDL created by Apache Axis version: 1.2RC2
Built on Nov 16, 2004 (12:19:44 EST)

  --> 
- <wsdl:types>
- <schema elementFormDefault="qualified" targetNamespace="urn:ihis"
xmlns="http://www.w3.org/2001/XMLSchema">
  <import namespace="http://lang.java" /> 
- <complexType name="PersistantCapableDTO">
- <sequence>
  <element name="businessId" nillable="true" type="xsd:string" /> 
  <element name="creationDate" nillable="true" type="xsd:dateTime" /> 
  <element name="description" nillable="true" type="xsd:string" /> 
  <element name="id" nillable="true" type="xsd:long" /> 
  <element name="status" nillable="true" type="xsd:int" /> 
  <element name="title" nillable="true" type="xsd:string" /> 
  <element name="versionNumber" nillable="true" type="xsd:int" /> 
  </sequence>
  </complexType>
- <complexType name="BusinessEntity">
- <complexContent>
- <extension base="impl:PersistantCapableDTO">
- <sequence>
  <element name="narrative" nillable="true" type="xsd:string" /> 
  </sequence>
  </extension>
  </complexContent>
  </complexType>
- <complexType name="IRTypeDTO">
- <complexContent>
- <extension base="impl:BusinessEntity">
- <sequence>
  <element name="type" nillable="true" type="xsd:string" /> 
  </sequence>
  </extension>
  </complexContent>
  </complexType>
  <element name="in0" type="impl:IRTypeDTO" /> 
- <complexType name="Result">
- <sequence>
  <element name="auditTrailId" nillable="true" type="xsd:long" /> 
  <element name="data" nillable="true" type="impl:PersistantCapableDTO" /> 
  <element name="message" nillable="true" type="xsd:string" /> 
  </sequence>
  </complexType>
  <element name="addReturn" type="impl:Result" /> 
- <complexType name="ArrayOfGenericException">
- <sequence>
  <element maxOccurs="unbounded" minOccurs="0" name="item"
type="impl:GenericException" />
  </sequence>
  </complexType>
- <complexType name="GenericException">
- <sequence>
  <element name="cause" nillable="true" type="xsd:anyType" /> 
  <element name="errorCode" nillable="true" type="xsd:string" /> 
  <element name="exceptions" nillable="true"
type="impl:ArrayOfGenericException" />
  <element name="message" nillable="true" type="xsd:string" /> 
  </sequence>
  </complexType>
  <element name="fault" type="impl:GenericException" /> 
  <element name="in1" type="impl:IRTypeDTO" /> 
  <element name="modifyReturn" type="impl:Result" /> 
  <element name="in2" type="xsd:long" /> 
  <element name="findByIdReturn" type="impl:IRTypeDTO" /> 
  <element name="getAllIRTypeReturn" type="impl:IRTypeDTO" /> 
  <element name="in3" type="xsd:string" /> 
- <complexType name="ArrayOf_xsd_anyType">
- <sequence>
  <element maxOccurs="unbounded" minOccurs="0" name="item"
type="xsd:anyType" />
  </sequence>
  </complexType>
  <element name="in4" type="impl:ArrayOf_xsd_anyType" /> 
  <element name="findIRTypesReturn" type="impl:IRTypeDTO" /> 
  <element name="in5" type="xsd:string" /> 
  <element name="in6" type="xsd:string" /> 
  <element name="in7" type="xsd:string" /> 
- <complexType name="ArrayOfArrayOf_xsd_anyType">
- <sequence>
  <element maxOccurs="unbounded" minOccurs="0" name="item"
type="impl:ArrayOf_xsd_anyType" />
  </sequence>
  </complexType>
  <element name="findSpecificDataWithFullValueReturn"
type="impl:ArrayOfArrayOf_xsd_anyType" />
  <element name="in8" type="xsd:string" /> 
  <element name="in9" type="xsd:string" /> 
  <element name="in10" type="xsd:string" /> 
  <element name="findSpecificDataWithPatialValueReturn"
type="impl:ArrayOfArrayOf_xsd_anyType" />
  </schema>
  </wsdl:types>
- <wsdl:message name="findByIdRequest">
  <wsdl:part element="impl:in2" name="in0" /> 
  </wsdl:message>
- <wsdl:message name="findIRTypesResponse">
  <wsdl:part element="impl:findIRTypesReturn" name="findIRTypesReturn" /> 
  </wsdl:message>
- <wsdl:message name="findSpecificDataWithPatialValueRequest">
  <wsdl:part element="impl:in8" name="in0" /> 
  <wsdl:part element="impl:in9" name="in1" /> 
  <wsdl:part element="impl:in10" name="in2" /> 
  </wsdl:message>
- <wsdl:message name="GenericException">
  <wsdl:part element="impl:fault" name="fault" /> 
  </wsdl:message>
- <wsdl:message name="getAllIRTypeResponse">
  <wsdl:part element="impl:getAllIRTypeReturn" name="getAllIRTypeReturn" /> 
  </wsdl:message>
  <wsdl:message name="getAllIRTypeRequest" /> 
- <wsdl:message name="findSpecificDataWithFullValueResponse">
  <wsdl:part element="impl:findSpecificDataWithFullValueReturn"
name="findSpecificDataWithFullValueReturn" />
  </wsdl:message>
- <wsdl:message name="findByIdResponse">
  <wsdl:part element="impl:findByIdReturn" name="findByIdReturn" /> 
  </wsdl:message>
- <wsdl:message name="addResponse">
  <wsdl:part element="impl:addReturn" name="addReturn" /> 
  </wsdl:message>
- <wsdl:message name="findIRTypesRequest">
  <wsdl:part element="impl:in3" name="in0" /> 
  <wsdl:part element="impl:in4" name="in1" /> 
  </wsdl:message>
- <wsdl:message name="modifyResponse">
  <wsdl:part element="impl:modifyReturn" name="modifyReturn" /> 
  </wsdl:message>
- <wsdl:message name="addRequest">
  <wsdl:part element="impl:in0" name="in0" /> 
  </wsdl:message>
- <wsdl:message name="findSpecificDataWithPatialValueResponse">
  <wsdl:part element="impl:findSpecificDataWithPatialValueReturn"
name="findSpecificDataWithPatialValueReturn" />
  </wsdl:message>
- <wsdl:message name="modifyRequest">
  <wsdl:part element="impl:in1" name="in0" /> 
  </wsdl:message>
- <wsdl:message name="findSpecificDataWithFullValueRequest">
  <wsdl:part element="impl:in5" name="in0" /> 
  <wsdl:part element="impl:in6" name="in1" /> 
  <wsdl:part element="impl:in7" name="in2" /> 
  </wsdl:message>
- <wsdl:portType name="JaxRpcIRTypeService">
- <wsdl:operation name="add" parameterOrder="in0">
  <wsdl:input message="impl:addRequest" name="addRequest" /> 
  <wsdl:output message="impl:addResponse" name="addResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="modify" parameterOrder="in0">
  <wsdl:input message="impl:modifyRequest" name="modifyRequest" /> 
  <wsdl:output message="impl:modifyResponse" name="modifyResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="findById" parameterOrder="in0">
  <wsdl:input message="impl:findByIdRequest" name="findByIdRequest" /> 
  <wsdl:output message="impl:findByIdResponse" name="findByIdResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="getAllIRType">
  <wsdl:input message="impl:getAllIRTypeRequest" name="getAllIRTypeRequest" /> 
  <wsdl:output message="impl:getAllIRTypeResponse"
name="getAllIRTypeResponse" />
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="findIRTypes" parameterOrder="in0 in1">
  <wsdl:input message="impl:findIRTypesRequest" name="findIRTypesRequest" /> 
  <wsdl:output message="impl:findIRTypesResponse" name="findIRTypesResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithFullValue"
parameterOrder="in0 in1 in2">
  <wsdl:input message="impl:findSpecificDataWithFullValueRequest"
name="findSpecificDataWithFullValueRequest" />
  <wsdl:output message="impl:findSpecificDataWithFullValueResponse"
name="findSpecificDataWithFullValueResponse" />
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithPatialValue"
parameterOrder="in0 in1 in2">
  <wsdl:input message="impl:findSpecificDataWithPatialValueRequest"
name="findSpecificDataWithPatialValueRequest" />
  <wsdl:output message="impl:findSpecificDataWithPatialValueResponse"
name="findSpecificDataWithPatialValueResponse" />
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="IRTypeServiceSoapBinding" type="impl:JaxRpcIRTypeService">
  <wsdlsoap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="add">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="addRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="addResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault name="GenericException" use="literal" /> 
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="modify">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="modifyRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="modifyResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault name="GenericException" use="literal" /> 
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="findById">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findByIdRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="findByIdResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault name="GenericException" use="literal" /> 
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="getAllIRType">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="getAllIRTypeRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="getAllIRTypeResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault name="GenericException" use="literal" /> 
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="findIRTypes">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findIRTypesRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="findIRTypesResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault name="GenericException" use="literal" /> 
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithFullValue">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findSpecificDataWithFullValueRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="findSpecificDataWithFullValueResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithPatialValue">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findSpecificDataWithPatialValueRequest">
  <wsdlsoap:body use="literal" /> 
  </wsdl:input>
- <wsdl:output name="findSpecificDataWithPatialValueResponse">
  <wsdlsoap:body use="literal" /> 
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="JaxRpcIRTypeServiceService">
- <wsdl:port binding="impl:IRTypeServiceSoapBinding" name="IRTypeService">
  <wsdlsoap:address
location="http://localhost:8080/ihis/services/IRTypeService" />
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

A. sample request with this scenario::
--------------------------------------------------------------------------------------------------------------
<?xml version="1.0" encoding="utf-16"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <soap:Body>
    <in0 xmlns="urn:ihis">
      <businessId />
      <creationDate>2005-03-01T00:00:00.0000000+06:00</creationDate>
      <description />
      <id>0</id>
      <status>0</status>
      <title />
      <versionNumber>0</versionNumber>
      <narrative>Test</narrative>
      <type>T009</type>
    </in0>
  </soap:Body>
</soap:Envelope>
----------------------------------------------------------------------------------------------------------------------------
B. sample response with this scenario:
ResponseCode: 200 (OK)
Set-Cookie:JSESSIONID=C62A35B91CA599FA54DF644CACBB4AD3; Path=/ihis
Content-Type:text/xml;charset=utf-8
Transfer-Encoding:chunked
Date:Tue, 01 Mar 2005 09:51:48 GMT
Server:Apache-Coyote/1.1

<?xml version="1.0" encoding="utf-16"?>
<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Body>
    <in0Return xmlns="urn:ihis">
      <auditTrailId>3346</auditTrailId>
      <data xsi:type="ns1:IRTypeDTO" xmlns:ns1="urn:ihis">
        <businessId>
        </businessId>
        <creationDate>2005-02-28T18:00:00.000Z</creationDate>
        <description>
        </description>
        <id>81</id>
        <narrative>Test</narrative>
        <status>1</status>
        <title>
        </title>
        <type>T009</type>
        <versionNumber>0</versionNumber>
      </data>
      <message>IRType 81 created Successfully</message>
    </in0Return>
  </soapenv:Body>
</soapenv:Envelope>

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

Scenario 2 rpc (Everything is working well with this model)




2.a Service element in the server-config.wsdd

 <service name="IRTypeService" provider="java:RPC">
    <namespace>urn:ihis</namespace>
    <parameter name="allowedMethods" value="*"/>
    <parameter name="scope" value="session"/>
    <parameter name="className"
value="com.sikraft.ihis.inpatient.roomtype.JaxRpcIRTypeService"/>
    <beanMapping qname="ihis:IRTypeDTO" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.ihis.inpatient.roomtype.IRTypeDTO"/>
    <beanMapping qname="ihis:PersistantCapable" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.business.PersistantCapable"/>
    <beanMapping qname="ihis:PersistantCapableDTO"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.business.PersistantCapableDTO"/>
    <beanMapping qname="ihis:BusinessEntity" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.ihis.common.BusinessEntity"/>
    <beanMapping qname="ihis:SearchCapableDTO" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.search.SearchCapableDTO"/>
    <beanMapping qname="ihis:SearchableBusinessEntity"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.ihis.common.SearchableBusinessEntity"/>
    <beanMapping qname="ihis:Result" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.business.Result"/>
    <beanMapping qname="ihis:GenericException" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.exception.GenericException"/>
    <beanMapping qname="ihis:SystemException" xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.exception.SystemException"/>
    <beanMapping qname="ihis:BusinessRuleException"
xmlns:ihis="urn:ihis"
languageSpecificType="java:com.sikraft.welkin.exception.BusinessRuleException"/>
  </service>

2.b WSDL generated with above service definition


  <?xml version="1.0" encoding="UTF-8" ?> 
- <wsdl:definitions targetNamespace="urn:ihis"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:ihis" xmlns:intf="urn:ihis"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns1="http://lang.java"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <!-- 
WSDL created by Apache Axis version: 1.2RC2
Built on Nov 16, 2004 (12:19:44 EST)

  --> 
- <wsdl:types>
- <schema targetNamespace="urn:ihis" xmlns="http://www.w3.org/2001/XMLSchema">
  <import namespace="http://lang.java" /> 
  <import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> 
- <complexType name="PersistantCapableDTO">
- <sequence>
  <element name="businessId" nillable="true" type="soapenc:string" /> 
  <element name="creationDate" nillable="true" type="xsd:dateTime" /> 
  <element name="description" nillable="true" type="soapenc:string" /> 
  <element name="id" nillable="true" type="soapenc:long" /> 
  <element name="status" nillable="true" type="soapenc:int" /> 
  <element name="title" nillable="true" type="soapenc:string" /> 
  <element name="versionNumber" nillable="true" type="soapenc:int" /> 
  </sequence>
  </complexType>
- <complexType name="BusinessEntity">
- <complexContent>
- <extension base="impl:PersistantCapableDTO">
- <sequence>
  <element name="narrative" nillable="true" type="soapenc:string" /> 
  </sequence>
  </extension>
  </complexContent>
  </complexType>
- <complexType name="IRTypeDTO">
- <complexContent>
- <extension base="impl:BusinessEntity">
- <sequence>
  <element name="type" nillable="true" type="soapenc:string" /> 
  </sequence>
  </extension>
  </complexContent>
  </complexType>
- <complexType name="Result">
- <sequence>
  <element name="auditTrailId" nillable="true" type="soapenc:long" /> 
  <element name="data" nillable="true" type="impl:PersistantCapableDTO" /> 
  <element name="message" nillable="true" type="soapenc:string" /> 
  </sequence>
  </complexType>
- <complexType name="ArrayOfGenericException">
- <complexContent>
- <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType"
wsdl:arrayType="impl:GenericException[]" />
  </restriction>
  </complexContent>
  </complexType>
- <complexType name="GenericException">
- <sequence>
  <element name="cause" nillable="true" type="xsd:anyType" /> 
  <element name="errorCode" nillable="true" type="soapenc:string" /> 
  <element name="exceptions" nillable="true"
type="impl:ArrayOfGenericException" />
  <element name="message" nillable="true" type="soapenc:string" /> 
  </sequence>
  </complexType>
- <complexType name="SystemException">
- <complexContent>
- <extension base="impl:GenericException">
  <sequence /> 
  </extension>
  </complexContent>
  </complexType>
- <complexType name="BusinessRuleException">
- <complexContent>
- <extension base="impl:GenericException">
  <sequence /> 
  </extension>
  </complexContent>
  </complexType>
- <complexType name="ArrayOfIRTypeDTO">
- <complexContent>
- <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:IRTypeDTO[]" /> 
  </restriction>
  </complexContent>
  </complexType>
- <complexType name="ArrayOf_xsd_anyType">
- <complexContent>
- <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]" /> 
  </restriction>
  </complexContent>
  </complexType>
- <complexType name="ArrayOf_soapenc_string">
- <complexContent>
- <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType" wsdl:arrayType="soapenc:string[]" /> 
  </restriction>
  </complexContent>
  </complexType>
- <complexType name="ArrayOfArrayOf_xsd_anyType">
- <complexContent>
- <restriction base="soapenc:Array">
  <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[][]" /> 
  </restriction>
  </complexContent>
  </complexType>
  </schema>
  </wsdl:types>
- <wsdl:message name="findByIdRequest">
  <wsdl:part name="in0" type="soapenc:long" /> 
  </wsdl:message>
- <wsdl:message name="findIRTypesResponse">
  <wsdl:part name="findIRTypesReturn" type="impl:ArrayOfIRTypeDTO" /> 
  </wsdl:message>
- <wsdl:message name="findSpecificDataWithPatialValueRequest">
  <wsdl:part name="in0" type="soapenc:string" /> 
  <wsdl:part name="in1" type="soapenc:string" /> 
  <wsdl:part name="in2" type="impl:ArrayOf_soapenc_string" /> 
  </wsdl:message>
- <wsdl:message name="GenericException">
  <wsdl:part name="fault" type="impl:GenericException" /> 
  </wsdl:message>
- <wsdl:message name="getAllIRTypeResponse">
  <wsdl:part name="getAllIRTypeReturn" type="impl:ArrayOfIRTypeDTO" /> 
  </wsdl:message>
  <wsdl:message name="getAllIRTypeRequest" /> 
- <wsdl:message name="findSpecificDataWithFullValueResponse">
  <wsdl:part name="findSpecificDataWithFullValueReturn"
type="impl:ArrayOfArrayOf_xsd_anyType" />
  </wsdl:message>
- <wsdl:message name="findByIdResponse">
  <wsdl:part name="findByIdReturn" type="impl:IRTypeDTO" /> 
  </wsdl:message>
- <wsdl:message name="addResponse">
  <wsdl:part name="addReturn" type="impl:Result" /> 
  </wsdl:message>
- <wsdl:message name="findIRTypesRequest">
  <wsdl:part name="in0" type="soapenc:string" /> 
  <wsdl:part name="in1" type="impl:ArrayOf_xsd_anyType" /> 
  </wsdl:message>
- <wsdl:message name="modifyResponse">
  <wsdl:part name="modifyReturn" type="impl:Result" /> 
  </wsdl:message>
- <wsdl:message name="addRequest">
  <wsdl:part name="in0" type="impl:IRTypeDTO" /> 
  </wsdl:message>
- <wsdl:message name="findSpecificDataWithPatialValueResponse">
  <wsdl:part name="findSpecificDataWithPatialValueReturn"
type="impl:ArrayOfArrayOf_xsd_anyType" />
  </wsdl:message>
- <wsdl:message name="modifyRequest">
  <wsdl:part name="in0" type="impl:IRTypeDTO" /> 
  </wsdl:message>
- <wsdl:message name="findSpecificDataWithFullValueRequest">
  <wsdl:part name="in0" type="impl:ArrayOf_soapenc_string" /> 
  <wsdl:part name="in1" type="impl:ArrayOf_soapenc_string" /> 
  <wsdl:part name="in2" type="impl:ArrayOf_soapenc_string" /> 
  </wsdl:message>
- <wsdl:portType name="JaxRpcIRTypeService">
- <wsdl:operation name="add" parameterOrder="in0">
  <wsdl:input message="impl:addRequest" name="addRequest" /> 
  <wsdl:output message="impl:addResponse" name="addResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="modify" parameterOrder="in0">
  <wsdl:input message="impl:modifyRequest" name="modifyRequest" /> 
  <wsdl:output message="impl:modifyResponse" name="modifyResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="findById" parameterOrder="in0">
  <wsdl:input message="impl:findByIdRequest" name="findByIdRequest" /> 
  <wsdl:output message="impl:findByIdResponse" name="findByIdResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="getAllIRType">
  <wsdl:input message="impl:getAllIRTypeRequest" name="getAllIRTypeRequest" /> 
  <wsdl:output message="impl:getAllIRTypeResponse"
name="getAllIRTypeResponse" />
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="findIRTypes" parameterOrder="in0 in1">
  <wsdl:input message="impl:findIRTypesRequest" name="findIRTypesRequest" /> 
  <wsdl:output message="impl:findIRTypesResponse" name="findIRTypesResponse" /> 
  <wsdl:fault message="impl:GenericException" name="GenericException" /> 
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithFullValue"
parameterOrder="in0 in1 in2">
  <wsdl:input message="impl:findSpecificDataWithFullValueRequest"
name="findSpecificDataWithFullValueRequest" />
  <wsdl:output message="impl:findSpecificDataWithFullValueResponse"
name="findSpecificDataWithFullValueResponse" />
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithPatialValue"
parameterOrder="in0 in1 in2">
  <wsdl:input message="impl:findSpecificDataWithPatialValueRequest"
name="findSpecificDataWithPatialValueRequest" />
  <wsdl:output message="impl:findSpecificDataWithPatialValueResponse"
name="findSpecificDataWithPatialValueResponse" />
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="IRTypeServiceSoapBinding" type="impl:JaxRpcIRTypeService">
  <wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="add">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="addRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="addResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GenericException" namespace="urn:ihis" use="encoded" />
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="modify">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="modifyRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="modifyResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GenericException" namespace="urn:ihis" use="encoded" />
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="findById">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findByIdRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="findByIdResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GenericException" namespace="urn:ihis" use="encoded" />
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="getAllIRType">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="getAllIRTypeRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="getAllIRTypeResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GenericException" namespace="urn:ihis" use="encoded" />
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="findIRTypes">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findIRTypesRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="findIRTypesResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
- <wsdl:fault name="GenericException">
  <wsdlsoap:fault
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GenericException" namespace="urn:ihis" use="encoded" />
  </wsdl:fault>
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithFullValue">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findSpecificDataWithFullValueRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="findSpecificDataWithFullValueResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
  </wsdl:operation>
- <wsdl:operation name="findSpecificDataWithPatialValue">
  <wsdlsoap:operation soapAction="" /> 
- <wsdl:input name="findSpecificDataWithPatialValueRequest">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:input>
- <wsdl:output name="findSpecificDataWithPatialValueResponse">
  <wsdlsoap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:ihis" use="encoded" />
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="JaxRpcIRTypeServiceService">
- <wsdl:port binding="impl:IRTypeServiceSoapBinding" name="IRTypeService">
  <wsdlsoap:address
location="http://localhost:8080/ihis/services/IRTypeService" />
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>


Regards,

Murad


On Mon, 28 Feb 2005 11:16:49 -0800, Dino Chiesa <di...@microsoft.com> wrote:
> We could help if you sent the WSDL and a copy of the request and
> response.
> 
> If .NET does not see the namespace it expects, you'll get null.  Even
> the smallest namespace change in the XML response document will cause
> the .NET client proxy to return null to the application.  We saw this
> with Pradeep's collection of ContainerBeans last week.  And someone else
> posted a similar story, too.
> 
> But it's not possible to diagnose with just your WSDD file.
> 
> 
> -----Original Message-----
> From: Murad [mailto:mailboxofmurad@gmail.com]
> Sent: Saturday, February 26, 2005 4:43 AM
> To: axis-user@ws.apache.org
> Subject: Document/Literal problem with .NET client
> 
> Hello,
> 
> I am using Axis1.2RC2. .Net clients successfully make a request and axis
> also produces a successful response(see through TCP monitor). But as a
> return value I am getting null.Proxy client is generating without giving
> any error(I am using wsdl.exe comes with visual studio.net).With default
> options(by not mentioning style and literal
> attributes) everything works fine. Here is the service element from
> server-config.wsdd :
> 
>  <service name="IRTypeService" provider="java:RPC" style="document"
> use="literal">
>     <namespace>urn:ihis</namespace>
>     <parameter name="allowedMethods" value="*"/>
>     <parameter name="scope" value="session"/>
>     <parameter name="className"
> value="com.sikraft.ihis.inpatient.roomtype.JaxRpcIRTypeService"/>
>     <beanMapping qname="ihis:IRTypeDTO" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.ihis.inpatient.roomtype.IRTypeDTO
> "/>
>     <beanMapping qname="ihis:PersistantCapable" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.business.PersistantCapable
> "/>
>     <beanMapping qname="ihis:PersistantCapableDTO"
> xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.business.PersistantCapable
> DTO"/>
>     <beanMapping qname="ihis:BusinessEntity" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.ihis.common.BusinessEntity"/>
>     <beanMapping qname="ihis:SearchCapableDTO" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.search.SearchCapableDTO"/>
>     <beanMapping qname="ihis:SearchableBusinessEntity"
> xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.ihis.common.SearchableBusinessEnt
> ity"/>
>     <beanMapping qname="ihis:Result" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.business.Result"/>
>     <beanMapping qname="ihis:GenericException" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.exception.GenericException
> "/>
>     <beanMapping qname="ihis:SystemException" xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.exception.SystemException"
> />
>     <beanMapping qname="ihis:BusinessRuleException"
> xmlns:ihis="urn:ihis"
> languageSpecificType="java:com.sikraft.welkin.exception.BusinessRuleExce
> ption"/>
>   </service>
> 
> Please help...
> 
> Regards,
> 
> Murad
> 


-- 
Best regards,

Murad