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 Rommel Sharma <ro...@mahindrabt.com> on 2004/06/21 08:57:44 UTC

Integrating a Java server side webservice with C# Client

Help with .NET to Jboss\Axis interop problemHi,

We are exploring the feasibility of integrating a C# Client with a Java based webservice deployed on Tomcat using Axis.
It would be great if someone could send me tips/useful URLs/Code snippets, anything that talks about setting up such environment or gives a demo of a successful integration with a C# client.

Thanks,
Rommel Sharma.


----- Original Message -----
  From: Hatton, Jason (STL)
  To: axis-user@ws.apache.org
  Sent: Friday, June 04, 2004 1:32 AM
  Subject: Help with .NET to Jboss\Axis interop problem


  I hava an ejb running on Jboss and we are trying to get it exposed through webservices so a C# client can consume it.
  Right now we are researching the feasibility of using this in a production environment of about 300 users including heads data entry

  people.

  Below is the wsdd  ( web-service.xml file in Jboss terms ) and wsdl files being used.  I also have included the soap response message from tcpmon

  We are trying to make a call to the getOrderByUserEx method which returns an order object.  The order object being returned has an array of four note

  objects being passed back within it.  The error we are getting on the C# client is the following:

  System.InvalidOperationException: There is an error in XML document (121, 4). ---> System.InvalidCastException: Cannot assign object of type Watcha_Proof.localhost.note to an object of type Watcha_Proof.localhost.note[].

     at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.fixup_Read16_order(Object objFixup)
     at System.Xml.Serialization.XmlSerializationReader.DoFixups()
     at System.Xml.Serialization.XmlSerializationReader.ReadReferencedElements()
     at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReader1.Read39_getOrderByUserExResponse()
     --- End of inner exception stack trace ---
     at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
     at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader)
     at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)

     at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
     at Watcha_Proof.localhost.CustomerDemoService.getOrderByUserEx(Int32 in0, TransactionContext in1) in C:\Documents and Settings\jhatton\My Documents\projects\csharp\Watcha_Proof\Web References\localhost\Reference.cs:line 109

     at Watcha_Proof.CustomerForm.getOrderEx(String id) in c:\documents and settings\jhatton\my documents\projects\csharp\watcha_proof\customerform.cs:line 528

  This isn't the standard empty array issue I am reading on the mailing list. We are using axis as it comes with Jboss 3.2.3 and Visual Studio .NET 2003 ( .NET 1.1 ).

  I am still not sure if it is a client or axis de/serialisation problem.  I will apologize for the big message but,  I want everything on the table so I can get an accurate answer and hopefully

  get this working soon.  I am new to about every piece of technology involved in doing this so any help I can get will be really appreciated.  I have tried several different methods of fixing it and one I haven't tried ( the wsdl2java - java2wsdl roundtrip ) because I don't want to have to do a bunch of object mappings to get it to work, if I can help it that is.  I have tried editing the WSDD file to force a mapping between the note object to the the axis array de/serializer.  I have also to tried changing the .NET Reference.cs file to get it to use Attribute "hints" to recognize the array coming back correctly.

  Thanks,

  Jas

  ---------------------------------------------------------------------------------  Here is is the WSDD file  -------------------------------------------------------------------------------------------------------------

  <deployment
    name="CustomerDemo"
    xmlns="http://xml.apache.org/axis/wsdd/"
    targetNamespace="http://com.express_scripts.sds.demo.ejb/randy/test"
    xmlns:v3="http://com.express_scripts.sds.demo.ejb/randy/test"
    xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

    <service name="CustomerDemo" provider="Handler">
      <parameter name="handlerClass" value="org.jboss.net.axis.server.EJBProvider"/>
      <parameter name="beanJndiName" value="MyCustomerDemo"/>
      <parameter name="allowedMethods" value="findCustomerById searchCustomer findOrdersByCombinationSearchAndUser getOrderByUserEx sayHello"/>

    </service>

    <beanMapping qname="v3:time_span"
      languageSpecificType="java:com.express_scripts.sds.corba.common.time_span" />
    <beanMapping qname="v3:processStatus"
      languageSpecificType="java:com.express_scripts.sds.corba.common.process_status" />
    <beanMapping qname="v3:note"
      languageSpecificType="java:com.express_scripts.sds.corba.common.note" />
    <beanMapping qname="v3:TransactionContext"
      languageSpecificType="java:com.express_scripts.sds.corba.common.TransactionContext" />
    <beanMapping qname="v3:audit_block"
      languageSpecificType="java:com.express_scripts.sds.corba.common.audit_block" />
    <beanMapping qname="v3:person_name"
      languageSpecificType="java:com.express_scripts.sds.corba.common.person_name" />
    <beanMapping qname="v3:address"
      languageSpecificType="java:com.express_scripts.sds.corba.common.address" />
    <beanMapping qname="v3:telephone"
      languageSpecificType="java:com.express_scripts.sds.corba.common.telephone" />
    <beanMapping qname="v3:email"
      languageSpecificType="java:com.express_scripts.sds.corba.common.email" />
    <beanMapping qname="v3:trait"
      languageSpecificType="java:com.express_scripts.sds.corba.common.trait" />
    <beanMapping qname="v3:customer_detail"
      languageSpecificType="java:com.express_scripts.sds.corba.customerManager.customer_detail" />
    <beanMapping qname="v3:customer"
      languageSpecificType="java:com.express_scripts.sds.corba.customerManager.customer" />
    <beanMapping qname="v3:external_id"
      languageSpecificType="java:com.express_scripts.sds.corba.customerManager.external_id" />
    <beanMapping qname="v3:relationship"
      languageSpecificType="java:com.express_scripts.sds.corba.customerManager.relationship" />
    <beanMapping qname="v3:related_customer"
      languageSpecificType="java:com.express_scripts.sds.corba.customerManager.related_customer" />
    <beanMapping qname="v3:enrollment_detail"
      languageSpecificType="java:com.express_scripts.sds.corba.customerManager.enrollment_detail" />
    <beanMapping qname="v3:order_detail"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.order_detail" />
    <beanMapping qname="v3:order"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.order" />
    <beanMapping qname="v3:tracking_info"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.tracking_info" />
    <beanMapping qname="v3:order_item"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.order_item" />
    <beanMapping qname="v3:order_item_detail"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.order_item_detail" />
    <beanMapping qname="v3:dur_response"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.dur_response" />
    <beanMapping qname="v3:order_item_lot"
      languageSpecificType="java:com.express_scripts.sds.corba.orderManager.order_item_lot" />

  </deployment>

  ---------------------------------------------------------------------------------  Here is is the WSDL file generated by Axis. -------------------------------------------------------------------------------------------------------------

    <?xml version="1.0" encoding="UTF-8" ?>
  - <wsdl:definitions targetNamespace="http://localhost:8080/jboss-net/services/CustomerDemo" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:apachesoap="http://xml.apache.org/xml-soap" xmlns:impl="http://localhost:8080/jboss-net/services/CustomerDemo" xmlns:intf="http://localhost:8080/jboss-net/services/CustomerDemo" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns1="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:tns2="http://net.jboss.org/jmx" xmlns:tns3="http://common.corba.sds.express_scripts.com" xmlns:tns4="http://CORBA.omg.org" xmlns:tns5="http://CustomerManagerPackage.customerManager.corba.sds.express_scripts.com" xmlns:tns6="http://orderManager.corba.sds.express_scripts.com" 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://com.express_scripts.sds.demo.ejb/randy/test" xmlns="http://www.w3.org/2001/XMLSchema">

    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <complexType name="tracking_info">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="order_id" nillable="true" type="xsd:string" />
    <element name="ship_date" nillable="true" type="xsd:string" />
    <element name="carrier_id" nillable="true" type="xsd:string" />
    <element name="tracking_number" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
  - <complexType name="audit_block">
  - <sequence>
    <element name="created_by" nillable="true" type="xsd:string" />
    <element name="last_mod_by" nillable="true" type="xsd:string" />
    <element name="create_date" nillable="true" type="xsd:string" />
    <element name="last_mod_date" nillable="true" type="xsd:string" />
    <element name="term_date" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
  - <complexType name="note">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="text" nillable="true" type="xsd:string" />
    <element name="group" nillable="true" type="xsd:string" />
    <element name="expiration_date" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="processStatus">
  - <sequence>
    <element name="value" nillable="true" type="xsd:string" />
    <element name="progress" nillable="true" type="xsd:string" />
    <element name="success" nillable="true" type="xsd:string" />
    <element name="reason" nillable="true" type="xsd:string" />
    <element name="timestamp" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
  - <complexType name="order_item_detail">
  - <sequence>
    <element name="order_item_id" nillable="true" type="xsd:string" />
    <element name="order_id" nillable="true" type="xsd:string" />
    <element name="item_number" nillable="true" type="xsd:string" />
    <element name="script_id" nillable="true" type="xsd:string" />
    <element name="required_field1" nillable="true" type="xsd:string" />
    <element name="required_field2" nillable="true" type="xsd:string" />
    <element name="required_field3" nillable="true" type="xsd:string" />
    <element name="required_field4" nillable="true" type="xsd:string" />
    <element name="patient_id" nillable="true" type="xsd:string" />
    <element name="physician_id" nillable="true" type="xsd:string" />
    <element name="product_id" nillable="true" type="xsd:string" />
    <element name="quantity" nillable="true" type="xsd:string" />
    <element name="price" nillable="true" type="xsd:string" />
    <element name="discount" nillable="true" type="xsd:string" />
    <element name="dur_status" nillable="true" type="xsd:string" />
    <element name="dur_auth_override_code" nillable="true" type="xsd:string" />
    <element name="awp" nillable="true" type="xsd:string" />
    <element name="wac" nillable="true" type="xsd:string" />
    <element name="pills_requested" nillable="true" type="xsd:string" />
    <element name="inv_reservation_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="status" nillable="true" type="tns1:processStatus" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="dur_response">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="order_item_id" nillable="true" type="xsd:string" />
    <element name="dur_response_code" nillable="true" type="xsd:string" />
    <element name="dur_response_severity" nillable="true" type="xsd:string" />
    <element name="dur_response_message" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="order_item_lot">
  - <sequence>
    <element name="order_item_lot_id" nillable="true" type="xsd:string" />
    <element name="order_item_id" nillable="true" type="xsd:string" />
    <element name="lot_number" nillable="true" type="xsd:string" />
    <element name="lot_quantity" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="order_item">
  - <sequence>
    <element name="detail" nillable="true" type="tns1:order_item_detail" />
    <element maxOccurs="unbounded" name="dur_responses" nillable="true" type="tns1:dur_response" />
    <element maxOccurs="unbounded" name="lots" nillable="true" type="tns1:order_item_lot" />
    </sequence>
    </complexType>
  - <complexType name="person_name">
  - <sequence>
    <element name="title" nillable="true" type="xsd:string" />
    <element name="first_name" nillable="true" type="xsd:string" />
    <element name="middle_name" nillable="true" type="xsd:string" />
    <element name="last_name" nillable="true" type="xsd:string" />
    <element name="suffix" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
  - <complexType name="customer_detail">
  - <sequence>
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="status" nillable="true" type="xsd:string" />
    <element name="name" nillable="true" type="tns1:person_name" />
    <element name="sex" nillable="true" type="xsd:string" />
    <element name="birthdate" nillable="true" type="xsd:string" />
    <element name="business_name" nillable="true" type="xsd:string" />
    <element name="business_division" nillable="true" type="xsd:string" />
    <element name="business_type" nillable="true" type="xsd:string" />
    <element name="group_number" nillable="true" type="xsd:string" />
    <element name="contract_number" nillable="true" type="xsd:string" />
    <element name="contact_info" nillable="true" type="xsd:string" />
    <element name="market_segment" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="related_customer">
  - <sequence>
    <element name="relationship_id" nillable="true" type="xsd:string" />
    <element name="program_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="detail" nillable="true" type="tns1:customer_detail" />
    </sequence>
    </complexType>
  - <complexType name="email">
  - <sequence>
    <element name="email_id" nillable="true" type="xsd:string" />
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="address" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="time_span">
  - <sequence>
    <element name="start_time" nillable="true" type="xsd:string" />
    <element name="stop_time" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
  - <complexType name="external_id">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="external_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="effective_date" nillable="true" type="xsd:string" />
    <element name="expiration_date" nillable="true" type="xsd:string" />
    <element name="state" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="address">
  - <sequence>
    <element name="address_id" nillable="true" type="xsd:string" />
    <element name="nuplid" nillable="true" type="xsd:string" />
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="program_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="usage" nillable="true" type="xsd:string" />
    <element name="addressee_1" nillable="true" type="xsd:string" />
    <element name="addressee_2" nillable="true" type="xsd:string" />
    <element name="address_line_1" nillable="true" type="xsd:string" />
    <element name="address_line_2" nillable="true" type="xsd:string" />
    <element name="city" nillable="true" type="xsd:string" />
    <element name="state" nillable="true" type="xsd:string" />
    <element name="zipcode" nillable="true" type="xsd:string" />
    <element name="delivery_point" nillable="true" type="xsd:string" />
    <element name="country" nillable="true" type="xsd:string" />
    <element name="accountNumber" nillable="true" type="xsd:string" />
    <element name="corr_default" type="xsd:boolean" />
    <element name="remit" type="xsd:boolean" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="telephone">
  - <sequence>
    <element name="telephone_id" nillable="true" type="xsd:string" />
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="number" nillable="true" type="xsd:string" />
    <element name="extension" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="trait">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="name" nillable="true" type="xsd:string" />
    <element name="value" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="relationship">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="parent_id" nillable="true" type="xsd:string" />
    <element name="child_id" nillable="true" type="xsd:string" />
    <element name="program_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="enrollment_detail">
  - <sequence>
    <element name="id" nillable="true" type="xsd:string" />
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="program_id" nillable="true" type="xsd:string" />
    <element name="enrolling_physician_id" nillable="true" type="xsd:string" />
    <element name="enrolling_advocate_id" nillable="true" type="xsd:string" />
    <element name="member_id" nillable="true" type="xsd:string" />
    <element name="group" nillable="true" type="xsd:string" />
    <element name="status" nillable="true" type="xsd:string" />
    <element name="duration" nillable="true" type="tns1:time_span" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    <element name="application_id" nillable="true" type="xsd:string" />
    <element name="tx_id" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
  - <complexType name="customer">
  - <sequence>
    <element name="detail" nillable="true" type="tns1:customer_detail" />
    <element maxOccurs="unbounded" name="external_ids" nillable="true" type="tns1:external_id" />
    <element maxOccurs="unbounded" name="addresses" nillable="true" type="tns1:address" />
    <element maxOccurs="unbounded" name="telephones" nillable="true" type="tns1:telephone" />
    <element maxOccurs="unbounded" name="email_addresses" nillable="true" type="tns1:email" />
    <element maxOccurs="unbounded" name="traits" nillable="true" type="tns1:trait" />
    <element maxOccurs="unbounded" name="relationships" nillable="true" type="tns1:relationship" />
    <element maxOccurs="unbounded" name="children" nillable="true" type="tns1:related_customer" />
    <element maxOccurs="unbounded" name="profiles" nillable="true" type="tns1:enrollment_detail" />
    <element maxOccurs="unbounded" name="notes" nillable="true" type="tns1:note" />
    </sequence>
    </complexType>
  - <complexType name="order_detail">
  - <sequence>
    <element name="order_id" nillable="true" type="xsd:string" />
    <element name="checkout_id" nillable="true" type="xsd:string" />
    <element name="type" nillable="true" type="xsd:string" />
    <element name="program_id" nillable="true" type="xsd:string" />
    <element name="batch_tracking_number" nillable="true" type="xsd:string" />
    <element name="customer_id" nillable="true" type="xsd:string" />
    <element name="ordered_by" nillable="true" type="xsd:string" />
    <element name="po_number" nillable="true" type="xsd:string" />
    <element name="requested_carrier_id" nillable="true" type="xsd:string" />
    <element name="shipping_address_id" nillable="true" type="xsd:string" />
    <element name="billing_address_id" nillable="true" type="xsd:string" />
    <element name="dur_bypass" nillable="true" type="xsd:string" />
    <element name="release_retry_date" nillable="true" type="xsd:string" />
    <element name="reshipped_order_id" nillable="true" type="xsd:string" />
    <element name="reshipped_reason" nillable="true" type="xsd:string" />
    <element name="cloned_from_order_id" nillable="true" type="xsd:string" />
    <element name="reason_cloned" nillable="true" type="xsd:string" />
    <element name="requested_delivery_date" nillable="true" type="xsd:string" />
    <element name="requested_ship_date" nillable="true" type="xsd:string" />
    <element name="date_received" nillable="true" type="xsd:string" />
    <element name="override" nillable="true" type="xsd:string" />
    <element name="return_received_date" nillable="true" type="xsd:string" />
    <element name="priority" nillable="true" type="xsd:string" />
    <element name="credit_auth_by" nillable="true" type="xsd:string" />
    <element name="credit_auth_date" nillable="true" type="xsd:string" />
    <element name="credit_override_auth_by" nillable="true" type="xsd:string" />
    <element name="credit_override_auth_date" nillable="true" type="xsd:string" />
    <element name="pli_license_id" nillable="true" type="xsd:string" />
    <element name="totalPackages" type="xsd:int" />
    <element name="status" nillable="true" type="tns1:processStatus" />
    <element name="audit_info" nillable="true" type="tns1:audit_block" />
    </sequence>
    </complexType>
  - <complexType name="order">
  - <sequence>
    <element name="detail" nillable="true" type="tns1:order_detail" />
    <element maxOccurs="unbounded" name="tracking_data" nillable="true" type="tns1:tracking_info" />
    <element maxOccurs="unbounded" name="items" nillable="true" type="tns1:order_item" />
    <element maxOccurs="unbounded" name="notes" nillable="true" type="tns1:note" />
    </sequence>
    </complexType>
  - <complexType name="TransactionContext">
  - <sequence>
    <element name="userid" nillable="true" type="xsd:string" />
    </sequence>
    </complexType>
    </schema>
  - <schema targetNamespace="http://net.jboss.org/jmx" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <simpleType name="ObjectNameType">
  - <simpleContent>
    <extension base="xsd:string" />
    </simpleContent>
    </simpleType>
    </schema>
  - <schema targetNamespace="http://CORBA.omg.org" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <complexType abstract="true" name="UserException">
    <sequence />
    </complexType>
    </schema>
  - <schema targetNamespace="http://common.corba.sds.express_scripts.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <complexType name="NotFoundException">
  - <complexContent>
  - <extension base="tns4:UserException">
  - <sequence>
    <element name="reason" nillable="true" type="xsd:string" />
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    </schema>
  - <schema targetNamespace="http://CustomerManagerPackage.customerManager.corba.sds.express_scripts.com" xmlns="http://www.w3.org/2001/XMLSchema">

    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <complexType name="CustomerException">
  - <complexContent>
  - <extension base="tns4:UserException">
  - <sequence>
    <element name="message" nillable="true" type="xsd:string" />
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    </schema>
  - <schema targetNamespace="http://localhost:8080/jboss-net/services/CustomerDemo" xmlns="http://www.w3.org/2001/XMLSchema">

    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <complexType name="ArrayOf_tns1_customer_detail">
  - <complexContent>
  - <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:customer_detail[]" />
    </restriction>
    </complexContent>
    </complexType>
  - <complexType name="ArrayOf_tns1_order_detail">
  - <complexContent>
  - <restriction base="soapenc:Array">
    <attribute ref="soapenc:arrayType" wsdl:arrayType="tns1:order_detail[]" />
    </restriction>
    </complexContent>
    </complexType>
    </schema>
  - <schema targetNamespace="http://orderManager.corba.sds.express_scripts.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
  - <complexType name="OrderException">
  - <complexContent>
  - <extension base="tns4:UserException">
  - <sequence>
    <element name="error_message" nillable="true" type="xsd:string" />
    </sequence>
    </extension>
    </complexContent>
    </complexType>
    </schema>
    </wsdl:types>
  - <wsdl:message name="searchCustomerResponse">
    <wsdl:part name="searchCustomerReturn" type="impl:ArrayOf_tns1_customer_detail" />
    </wsdl:message>
  - <wsdl:message name="searchCustomerRequest">
    <wsdl:part name="in0" type="tns1:customer" />
    </wsdl:message>
  - <wsdl:message name="sayHelloRequest">
    <wsdl:part name="in0" type="xsd:int" />
    </wsdl:message>
  - <wsdl:message name="findOrdersByCombinationSearchAndUserResponse">
    <wsdl:part name="findOrdersByCombinationSearchAndUserReturn" type="impl:ArrayOf_tns1_order_detail" />
    </wsdl:message>
  - <wsdl:message name="getOrderByUserExResponse">
    <wsdl:part name="getOrderByUserExReturn" type="tns1:order" />
    </wsdl:message>
  - <wsdl:message name="sayHelloResponse">
    <wsdl:part name="sayHelloReturn" type="xsd:string" />
    </wsdl:message>
  - <wsdl:message name="NotFoundException">
    <wsdl:part name="fault" type="tns3:NotFoundException" />
    </wsdl:message>
  - <wsdl:message name="CustomerException">
    <wsdl:part name="fault" type="tns5:CustomerException" />
    </wsdl:message>
  - <wsdl:message name="OrderException">
    <wsdl:part name="fault" type="tns6:OrderException" />
    </wsdl:message>
  - <wsdl:message name="findCustomerByIdResponse">
    <wsdl:part name="findCustomerByIdReturn" type="tns1:customer_detail" />
    </wsdl:message>
  - <wsdl:message name="findCustomerByIdRequest">
    <wsdl:part name="in0" type="xsd:string" />
    </wsdl:message>
  - <wsdl:message name="getOrderByUserExRequest">
    <wsdl:part name="in0" type="xsd:int" />
    <wsdl:part name="in1" type="tns1:TransactionContext" />
    </wsdl:message>
  - <wsdl:message name="findOrdersByCombinationSearchAndUserRequest">
    <wsdl:part name="in0" type="tns1:order" />
    <wsdl:part name="in1" type="tns1:customer" />
    <wsdl:part name="in2" type="xsd:string" />
    <wsdl:part name="in3" type="xsd:string" />
    <wsdl:part name="in4" type="tns1:TransactionContext" />
    </wsdl:message>
  - <wsdl:portType name="CustomerDemo">
  - <wsdl:operation name="findCustomerById" parameterOrder="in0">
    <wsdl:input message="impl:findCustomerByIdRequest" name="findCustomerByIdRequest" />
    <wsdl:output message="impl:findCustomerByIdResponse" name="findCustomerByIdResponse" />
    <wsdl:fault message="impl:NotFoundException" name="NotFoundException" />
    <wsdl:fault message="impl:CustomerException" name="CustomerException" />
    </wsdl:operation>
  - <wsdl:operation name="searchCustomer" parameterOrder="in0">
    <wsdl:input message="impl:searchCustomerRequest" name="searchCustomerRequest" />
    <wsdl:output message="impl:searchCustomerResponse" name="searchCustomerResponse" />
    <wsdl:fault message="impl:CustomerException" name="CustomerException" />
    </wsdl:operation>
  - <wsdl:operation name="findOrdersByCombinationSearchAndUser" parameterOrder="in0 in1 in2 in3 in4">
    <wsdl:input message="impl:findOrdersByCombinationSearchAndUserRequest" name="findOrdersByCombinationSearchAndUserRequest" />

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

    <wsdl:fault message="impl:OrderException" name="OrderException" />
    </wsdl:operation>
  - <wsdl:operation name="getOrderByUserEx" parameterOrder="in0 in1">
    <wsdl:input message="impl:getOrderByUserExRequest" name="getOrderByUserExRequest" />
    <wsdl:output message="impl:getOrderByUserExResponse" name="getOrderByUserExResponse" />
    <wsdl:fault message="impl:OrderException" name="OrderException" />
    </wsdl:operation>
  - <wsdl:operation name="sayHello" parameterOrder="in0">
    <wsdl:input message="impl:sayHelloRequest" name="sayHelloRequest" />
    <wsdl:output message="impl:sayHelloResponse" name="sayHelloResponse" />
    </wsdl:operation>
    </wsdl:portType>
  - <wsdl:binding name="CustomerDemoSoapBinding" type="impl:CustomerDemo">
    <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
  - <wsdl:operation name="findCustomerById">
    <wsdlsoap:operation soapAction="CustomerDemo" />
  - <wsdl:input name="findCustomerByIdRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ejb.demo.sds.express_scripts.com" use="encoded" />

    </wsdl:input>
  - <wsdl:output name="findCustomerByIdResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:output>
  - <wsdl:fault name="NotFoundException">
    <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:fault>
  - <wsdl:fault name="CustomerException">
    <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:fault>
    </wsdl:operation>
  - <wsdl:operation name="searchCustomer">
    <wsdlsoap:operation soapAction="CustomerDemo" />
  - <wsdl:input name="searchCustomerRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ejb.demo.sds.express_scripts.com" use="encoded" />

    </wsdl:input>
  - <wsdl:output name="searchCustomerResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:output>
  - <wsdl:fault name="CustomerException">
    <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:fault>
    </wsdl:operation>
  - <wsdl:operation name="findOrdersByCombinationSearchAndUser">
    <wsdlsoap:operation soapAction="CustomerDemo" />
  - <wsdl:input name="findOrdersByCombinationSearchAndUserRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ejb.demo.sds.express_scripts.com" use="encoded" />

    </wsdl:input>
  - <wsdl:output name="findOrdersByCombinationSearchAndUserResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:output>
  - <wsdl:fault name="OrderException">
    <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:fault>
    </wsdl:operation>
  - <wsdl:operation name="getOrderByUserEx">
    <wsdlsoap:operation soapAction="CustomerDemo" />
  - <wsdl:input name="getOrderByUserExRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ejb.demo.sds.express_scripts.com" use="encoded" />

    </wsdl:input>
  - <wsdl:output name="getOrderByUserExResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:output>
  - <wsdl:fault name="OrderException">
    <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:fault>
    </wsdl:operation>
  - <wsdl:operation name="sayHello">
    <wsdlsoap:operation soapAction="CustomerDemo" />
  - <wsdl:input name="sayHelloRequest">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://ejb.demo.sds.express_scripts.com" use="encoded" />

    </wsdl:input>
  - <wsdl:output name="sayHelloResponse">
    <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://localhost:8080/jboss-net/services/CustomerDemo" use="encoded" />

    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
  - <wsdl:service name="CustomerDemoService">
  - <wsdl:port binding="impl:CustomerDemoSoapBinding" name="CustomerDemo">
    <wsdlsoap:address location="http://localhost:8080/jboss-net/services/CustomerDemo" />
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>

  ---------------------------------------------------------------------------------  Here is the soap message  -------------------------------------------------------------------------------------------------------------

  HTTP/1.1 100 Continue  HTTP/1.1 200 OK Content-Type: text/xml;charset=utf-8 Transfer-Encoding: chunked Date: Thu, 03 Jun 2004 19:36:51 GMT Server: Apache-Coyote/1.1  2000 <?xml version="1.0" encoding="UTF-8"?>

  <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>
    <ns1:getOrderByUserExResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://ejb.demo.sds.express_scripts.com">

     <ns1:getOrderByUserExReturn href="#id0"/>
    </ns1:getOrderByUserExResponse>
    <multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:order" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://com.express_scripts.sds.demo.ejb/randy/test">

     <detail href="#id1"/>
     <notes href="#id2"/>
     <notes href="#id3"/>
     <notes href="#id4"/>
     <notes href="#id5"/>
    </multiRef>
    <multiRef id="id5" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:note" xmlns:ns3="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <id xsi:type="xsd:string">4743</id>
     <type xsi:type="xsd:string">SYSTEM</type>
     <text xsi:type="xsd:string">Order was changed from ORDER-EDIT/IN-PROCESS/FAILED to CANCEL/READY/SUCCEEDED on the Recap form.</text>

     <group xsi:type="xsd:string"></group>
     <expiration_date xsi:type="xsd:string"></expiration_date>
     <audit_info href="#id6"/>
    </multiRef>
    <multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns4:note" xmlns:ns4="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <id xsi:type="xsd:string">4742</id>
     <type xsi:type="xsd:string">MANUAL</type>
     <text xsi:type="xsd:string">Other</text>
     <group xsi:type="xsd:string"></group>
     <expiration_date xsi:type="xsd:string"></expiration_date>
     <audit_info href="#id7"/>
    </multiRef>
    <multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns5:note" xmlns:ns5="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <id xsi:type="xsd:string">4740</id>
     <type xsi:type="xsd:string">SYSTEM</type>
     <text xsi:type="xsd:string">Order Release Attempted by user &apos;RCampbell&apos;!</text>
     <group xsi:type="xsd:string"></group>
     <expiration_date xsi:type="xsd:string"></expiration_date>
     <audit_info href="#id8"/>
    </multiRef>
    <multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns6:note" xmlns:ns6="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <id xsi:type="xsd:string">4741</id>
     <type xsi:type="xsd:string">SYSTEM</type>
     <text xsi:type="xsd:string">Order Item Id: 1151 succeeded Dur.</text>
     <group xsi:type="xsd:string"></group>
     <expiration_date xsi:type="xsd:string"></expiration_date>
     <audit_info href="#id9"/>
    </multiRef>
    <multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns7:order_detail" xmlns:ns7="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <order_id xsi:type="xsd:string">1260</order_id>
     <checkout_id xsi:type="xsd:string"></checkout_id>
     <type xsi:type="xsd:string">SCRIPT</type>
     <program_id xsi:type="xsd:string">1010</program_id>
     <batch_tracking_number xsi:type="xsd:string"></batch_tracking_number>
     <customer_id xsi:type="xsd:string">5130</customer_id>
     <ordered_by xsi:type="xsd:string"></ordered_by>
     <po_number xsi:type="xsd:string"></po_number>
     <requested_carrier_id xsi:type="xsd:string">52</requested_carrier_id>
     <shipping_address_id xsi:type="xsd:string">4892</shipping_address_id>
     <billing_address_id xsi:type="xsd:string">4892</billing_address_id>
     <dur_bypass xsi:type="xsd:string">Y</dur_bypass>
     <release_retry_date xsi:type="xsd:string"></release_retry_date>
     <reshipped_order_id xsi:type="xsd:string"></reshipped_order_id>
     <reshipped_reason xsi:type="xsd:string"></reshipped_reason>
     <cloned_from_order_id xsi:type="xsd:string">1153</cloned_from_order_id>
     <reason_cloned xsi:type="xsd:string"></reason_cloned>
     <requested_delivery_date xsi:type="xsd:string"></requested_delivery_date>
     <requested_ship_date xsi:type="xsd:string"></requested_ship_date>
     <date_received xsi:type="xsd:string">2003/05/09 00:00:00</date_received>
     <override xsi:type="xsd:string">N</override>
     <return_received_date xsi:type="xsd:string"></return_received_date>
     <priority xsi:type="xsd:string">0</priority>
     <credit_auth_by xsi:type="xsd:string"></credit_auth_by>
     <credit_auth_date xsi:type="xsd:string"></credit_auth_date>
     <credit_override_auth_by xsi:type="xsd:string"></credit_override_auth_by>
     <credit_override_auth_date xsi:type="xsd:string"></credit_override_auth_date>
     <pli_license_id xsi:type="xsd:string"></pli_license_id>
     <totalPackages xsi:type="xsd:int">1</totalPackages>
     <status href="#id10"/>
     <audit_info href="#id11"/>
    </multiRef>
    <multiRef id="id10" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns8:processStatus" xmlns:ns8="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <value xsi:type="xsd:string">CANCEL</value>
     <progress xsi:type="xsd:string">READY</progress>
     <success xsi:type="xsd:string">SUCCEEDED</success>
     <reason xsi:type="xsd:string"></reason>
     <timestamp xsi:type="xsd:string">2003/05/09 15:31:28</timestamp>
    </multiRef>
    <multiRef id="id11" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns9:audit_block" xmlns:ns9="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <created_by xsi:type="xsd:string">RCampbell</created_by>
     <last_mod_by xsi:type="xsd:string">RCampbell</last_mod_by>
     <create_date xsi:type="xsd:string">2003/05/09 15:29:40</create_date>
     <last_mod_date xsi:type="xsd:string">2003/05/09 15:31:28</last_mod_date>
     <term_date xsi:type="xsd:string"></term_date>
    </multiRef>
    <multiRef id="id8" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns10:audit_block" xmlns:ns10="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <created_by xsi:type="xsd:string">release check</created_by>
     <last_mod_by xsi:type="xsd:string">release check</last_mod_by>
     <create_date xsi:type="xsd:string">2003/05/09 15:30:27</create_date>
     <last_mod_date xsi:type="xsd:string">2003/05/09 15:30:27</last_mod_date>
     <term_date xsi:type="xsd:string"></term_date>
    </multiRef>
    <multiRef id="id6" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns11:audit_block" xmlns:ns11="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <created_by xsi:type="xsd:string">RCampbell</created_by>
     <last_mod_by xsi:type="xsd:string">RCampbell</last_mod_by>
     <create_date xsi:type="xsd:string">2003/05/09 15:31:27</create_date>
     <last_mod_date xsi:type="xsd:string">2003/05/09 15:31:27</last_mod_date>
     <term_date xsi:type="xsd:string"></term_date>
    </multiRef>
    <multiRef id="id9" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns12:audit_block" xmlns:ns12="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <created_by xsi:type="xsd:string">RCampbell</created_by>
     <last_mod_by xsi:type="xsd:string">RCampbell</last_mod_by>
     <create_date xsi:type="xsd:string">2003/05/09 15:30:36</create_date>
     <last_mod_date xsi:type="xsd:string">2003/05/09 15:30:36</last_mod_date>
     <term_date xsi:type="xsd:string"></term_date>
    </multiRef>
    <multiRef id="id7" soapenc:root="0" soapenv:encodingStyle="http://sche 228 mas.xmlsoap.org/soap/encoding/" xsi:type="ns13:audit_block" xmlns:ns13="http://com.express_scripts.sds.demo.ejb/randy/test" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">

     <created_by xsi:type="xsd:string">RCampbell</created_by>
     <last_mod_by xsi:type="xsd:string">RCampbell</last_mod_by>
     <create_date xsi:type="xsd:string">2003/05/09 15:31:25</create_date>
     <last_mod_date xsi:type="xsd:string">2003/05/09 15:31:25</last_mod_date>
     <term_date xsi:type="xsd:string"></term_date>
    </multiRef>
   </soapenv:Body>
  </soapenv:Envelope> 0 







------------------------------------------------------------------------------
  ******* Confidentiality Notice *******
  This email, its electronic document attachments, and the contents of its website linkages may contain confidential health information. This information is intended solely for use by the individual or entity to whom it is addressed. If you have received this information in error, please notify the sender immediately and arrange for the prompt destruction of the material and any accompanying attachments.


*********************************************************
Disclaimer:         

This message (including any attachments) contains
confidential information intended for a specific
individual and purpose, and is protected by law.
If you are not the intended recipient, you should
delete this message and are hereby notified that
any disclosure, copying, or distribution of this
message, or the taking of any action based on it,
is strictly prohibited.

*********************************************************
Visit us at http://www.mahindrabt.com

Re: Integrating a Java server side webservice with C# Client

Posted by sa...@04web.com.
Check "Java Development with Ant".
There is a sample chapter that explains a simple way to implement web
services client in Java/C# plus JUnit test cases.

http://www.manning.com/hatcher/
http://www.manning-source.com/books/hatcher/hatcher_ch15.pdf

Regards,

Pedro Salgado




Re: Integrating a Java server side webservice with C# Client

Posted by Rommel Sharma <ro...@mahindrabt.com>.
Thanks for the useful resource. It is, indeed, helpful.
Regards,
Rommel.
----- Original Message ----- 
From: <sa...@04web.com>
To: <ax...@ws.apache.org>
Sent: Monday, June 21, 2004 1:58 PM
Subject: Re: Integrating a Java server side webservice with C# Client


> 
> Check "Java Development with Ant".
> There is a sample chapter that explains a simple way to implement web
> services client in Java/C# plus JUnit test cases.
> 
> http://www.manning.com/hatcher/
> http://www.manning-source.com/books/hatcher/hatcher_ch15.pdf
> 
> Regards,
> 
> Pedro Salgado
> 
> 
> 

*********************************************************
Disclaimer:          

This message (including any attachments) contains 
confidential information intended for a specific 
individual and purpose, and is protected by law. 
If you are not the intended recipient, you should 
delete this message and are hereby notified that 
any disclosure, copying, or distribution of this
message, or the taking of any action based on it, 
is strictly prohibited.

*********************************************************
Visit us at http://www.mahindrabt.com