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