users@jax-rpc.java.net

RE: Re: exception handling

From: Ian Jones <ijones_at_piper-group.com>
Date: Thu, 19 May 2005 08:46:02 +0100

Hi Doug,

Thanks for that, as usual. Just so we're clear - is there a reason why
you need the config.xml for generating the client stubs? Only the
problem we're getting is for the generation of server ties. But,
anyway, here's the information you asked for:

WSDL:

<definitions name="DataManager"
targetNamespace="http://www.trilogi.co.uk/datamanager/target"
xmlns:tns="http://www.trilogi.co.uk/datamanager/target"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ns2="http://www.trilogi.co.uk/datamanager"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
  <types>
    <schema targetNamespace="http://www.trilogi.co.uk/datamanager"
xmlns:tns="http://www.trilogi.co.uk/datamanager"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://www.w3.org/2001/XMLSchema">
      <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
      <complexType name="DataManagerConnectionDetails">
        <sequence>
          <element name="connectString" type="string"/>
          <element name="connectionName" type="string"/>
          <element name="databaseName" type="string"/>
          <element name="databaseType" type="tns:DatabaseType"/>
          <element name="password" type="string"/>
          <element name="serverLocation" type="string"/>
          <element name="serverPort" type="int"/>
          <element name="userName"
type="string"/></sequence></complexType>
      <complexType name="DatabaseType">
        <sequence>
          <element name="dbProductName" type="string"/>
          <element name="schemaVersion"
type="double"/></sequence></complexType>
      <complexType name="SessionNotFoundException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="Group">
        <sequence>
          <element name="active" type="boolean"/>
          <element name="datasets" type="tns:ArrayOfGroupDataset"/>
          <element name="defaultGroup" type="boolean"/>
          <element name="name" type="string"/>
          <element name="order" type="int"/></sequence></complexType>
      <complexType name="ArrayOfGroupDataset">
        <complexContent>
          <restriction base="soap11-enc:Array">
            <attribute ref="soap11-enc:arrayType"
wsdl:arrayType="tns:GroupDataset[]"/></restriction></complexContent></co
mplexType>
      <complexType name="GroupDataset">
        <sequence>
          <element name="active" type="boolean"/>
          <element name="datasetName" type="string"/>
          <element name="primary"
type="boolean"/></sequence></complexType>
      <complexType name="InterimAmendmentFileNotFoundException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="DatasetFiles">
        <sequence>
          <element name="datasetFilePath" type="string"/>
          <element name="firebirdFilePath" type="string"/>
          <element name="packageFilePaths"
type="tns:ArrayOfstring"/></sequence></complexType>
      <complexType name="ArrayOfstring">
        <complexContent>
          <restriction base="soap11-enc:Array">
            <attribute ref="soap11-enc:arrayType"
wsdl:arrayType="string[]"/></restriction></complexContent></complexType>
      <complexType name="DatasetFileNotFoundException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="GroupFileNotFoundException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="DatabaseCreationException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="ArrayOfDataManagerConnectionDetails">
        <complexContent>
          <restriction base="soap11-enc:Array">
            <attribute ref="soap11-enc:arrayType"
wsdl:arrayType="tns:DataManagerConnectionDetails[]"/></restriction></com
plexContent></complexType>
      <complexType name="ArrayOfDataset">
        <complexContent>
          <restriction base="soap11-enc:Array">
            <attribute ref="soap11-enc:arrayType"
wsdl:arrayType="tns:Dataset[]"/></restriction></complexContent></complex
Type>
      <complexType name="Dataset">
        <sequence>
          <element name="databaseType" type="tns:DatabaseType"/>
          <element name="name" type="string"/></sequence></complexType>
      <complexType name="ArrayOfGroup">
        <complexContent>
          <restriction base="soap11-enc:Array">
            <attribute ref="soap11-enc:arrayType"
wsdl:arrayType="tns:Group[]"/></restriction></complexContent></complexTy
pe>
      <complexType name="DataManagerProgressMessage">
        <sequence>
          <element name="message" type="string"/>
          <element name="percentageComplete"
type="int"/></sequence></complexType>
      <complexType name="DatasetNotFoundException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="InvalidPasswordException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="SessionInProgressException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType>
      <complexType name="GroupNotFoundException">
        <sequence>
          <element name="message"
type="string"/></sequence></complexType></schema></types>
  <message name="DataManagerIF_addConnection">
    <part name="String_1" type="xsd:string"/>
    <part name="DataManagerConnectionDetails_2"
type="ns2:DataManagerConnectionDetails"/></message>
  <message name="DataManagerIF_addConnectionResponse"/>
  <message name="SessionNotFoundException">
    <part name="SessionNotFoundException"
type="ns2:SessionNotFoundException"/></message>
  <message name="DataManagerIF_addGroup">
    <part name="String_1" type="xsd:string"/>
    <part name="Group_2" type="ns2:Group"/></message>
  <message name="DataManagerIF_addGroupResponse"/>
  <message name="DataManagerIF_applyChanges">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_applyChangesResponse"/>
  <message name="DataManagerIF_applyInterimAmendment">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/></message>
  <message name="DataManagerIF_applyInterimAmendmentResponse"/>
  <message name="InterimAmendmentFileNotFoundException">
    <part name="InterimAmendmentFileNotFoundException"
type="ns2:InterimAmendmentFileNotFoundException"/></message>
  <message name="DataManagerIF_copyDatasetFiles">
    <part name="String_1" type="xsd:string"/>
    <part name="DatasetFiles_2" type="ns2:DatasetFiles"/></message>
  <message name="DataManagerIF_copyDatasetFilesResponse"/>
  <message name="DatasetFileNotFoundException">
    <part name="DatasetFileNotFoundException"
type="ns2:DatasetFileNotFoundException"/></message>
  <message name="DataManagerIF_copyGroupFile">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/></message>
  <message name="DataManagerIF_copyGroupFileResponse"/>
  <message name="GroupFileNotFoundException">
    <part name="GroupFileNotFoundException"
type="ns2:GroupFileNotFoundException"/></message>
  <message name="DataManagerIF_copyInterimAmendmentFile">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/></message>
  <message name="DataManagerIF_copyInterimAmendmentFileResponse"/>
  <message name="DataManagerIF_createDatabase">
    <part name="String_1" type="xsd:string"/>
    <part name="DataManagerConnectionDetails_2"
type="ns2:DataManagerConnectionDetails"/></message>
  <message name="DataManagerIF_createDatabaseResponse"/>
  <message name="DatabaseCreationException">
    <part name="DatabaseCreationException"
type="ns2:DatabaseCreationException"/></message>
  <message name="DataManagerIF_getConnections">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_getConnectionsResponse">
    <part name="result"
type="ns2:ArrayOfDataManagerConnectionDetails"/></message>
  <message name="DataManagerIF_getDatasets">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_getDatasetsResponse">
    <part name="result" type="ns2:ArrayOfDataset"/></message>
  <message name="DataManagerIF_getGroups">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_getGroupsResponse">
    <part name="result" type="ns2:ArrayOfGroup"/></message>
  <message name="DataManagerIF_getProgress">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_getProgressResponse">
    <part name="result"
type="ns2:DataManagerProgressMessage"/></message>
  <message name="DataManagerIF_loadIntoOracle">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/>
    <part name="DataManagerConnectionDetails_3"
type="ns2:DataManagerConnectionDetails"/></message>
  <message name="DataManagerIF_loadIntoOracleResponse"/>
  <message name="DatasetNotFoundException">
    <part name="DatasetNotFoundException"
type="ns2:DatasetNotFoundException"/></message>
  <message name="DataManagerIF_login">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_loginResponse">
    <part name="result" type="xsd:string"/></message>
  <message name="InvalidPasswordException">
    <part name="InvalidPasswordException"
type="ns2:InvalidPasswordException"/></message>
  <message name="SessionInProgressException">
    <part name="SessionInProgressException"
type="ns2:SessionInProgressException"/></message>
  <message name="DataManagerIF_logout">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_logoutResponse"/>
  <message name="DataManagerIF_removeDataset">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/></message>
  <message name="DataManagerIF_removeDatasetResponse"/>
  <message name="DataManagerIF_removeGroup">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/></message>
  <message name="DataManagerIF_removeGroupResponse"/>
  <message name="GroupNotFoundException">
    <part name="GroupNotFoundException"
type="ns2:GroupNotFoundException"/></message>
  <message name="DataManagerIF_setDatasetOrder">
    <part name="String_1" type="xsd:string"/>
    <part name="String_2" type="xsd:string"/>
    <part name="arrayOfString_3" type="ns2:ArrayOfstring"/></message>
  <message name="DataManagerIF_setDatasetOrderResponse"/>
  <message name="DataManagerIF_setGroupOrder">
    <part name="String_1" type="xsd:string"/>
    <part name="arrayOfString_2" type="ns2:ArrayOfstring"/></message>
  <message name="DataManagerIF_setGroupOrderResponse"/>
  <message name="DataManagerIF_stopActivity">
    <part name="String_1" type="xsd:string"/></message>
  <message name="DataManagerIF_stopActivityResponse"/>
  <portType name="DataManagerIF">
    <operation name="addConnection" parameterOrder="String_1
DataManagerConnectionDetails_2">
      <input message="tns:DataManagerIF_addConnection"/>
      <output message="tns:DataManagerIF_addConnectionResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="addGroup" parameterOrder="String_1 Group_2">
      <input message="tns:DataManagerIF_addGroup"/>
      <output message="tns:DataManagerIF_addGroupResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="applyChanges" parameterOrder="String_1">
      <input message="tns:DataManagerIF_applyChanges"/>
      <output message="tns:DataManagerIF_applyChangesResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="applyInterimAmendment" parameterOrder="String_1
String_2">
      <input message="tns:DataManagerIF_applyInterimAmendment"/>
      <output
message="tns:DataManagerIF_applyInterimAmendmentResponse"/>
      <fault name="InterimAmendmentFileNotFoundException"
message="tns:InterimAmendmentFileNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="copyDatasetFiles" parameterOrder="String_1
DatasetFiles_2">
      <input message="tns:DataManagerIF_copyDatasetFiles"/>
      <output message="tns:DataManagerIF_copyDatasetFilesResponse"/>
      <fault name="DatasetFileNotFoundException"
message="tns:DatasetFileNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="copyGroupFile" parameterOrder="String_1 String_2">
      <input message="tns:DataManagerIF_copyGroupFile"/>
      <output message="tns:DataManagerIF_copyGroupFileResponse"/>
      <fault name="GroupFileNotFoundException"
message="tns:GroupFileNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="copyInterimAmendmentFile" parameterOrder="String_1
String_2">
      <input message="tns:DataManagerIF_copyInterimAmendmentFile"/>
      <output
message="tns:DataManagerIF_copyInterimAmendmentFileResponse"/>
      <fault name="InterimAmendmentFileNotFoundException"
message="tns:InterimAmendmentFileNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="createDatabase" parameterOrder="String_1
DataManagerConnectionDetails_2">
      <input message="tns:DataManagerIF_createDatabase"/>
      <output message="tns:DataManagerIF_createDatabaseResponse"/>
      <fault name="DatabaseCreationException"
message="tns:DatabaseCreationException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="getConnections" parameterOrder="String_1">
      <input message="tns:DataManagerIF_getConnections"/>
      <output message="tns:DataManagerIF_getConnectionsResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="getDatasets" parameterOrder="String_1">
      <input message="tns:DataManagerIF_getDatasets"/>
      <output message="tns:DataManagerIF_getDatasetsResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="getGroups" parameterOrder="String_1">
      <input message="tns:DataManagerIF_getGroups"/>
      <output message="tns:DataManagerIF_getGroupsResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="getProgress" parameterOrder="String_1">
      <input message="tns:DataManagerIF_getProgress"/>
      <output message="tns:DataManagerIF_getProgressResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="loadIntoOracle" parameterOrder="String_1 String_2
DataManagerConnectionDetails_3">
      <input message="tns:DataManagerIF_loadIntoOracle"/>
      <output message="tns:DataManagerIF_loadIntoOracleResponse"/>
      <fault name="DatasetNotFoundException"
message="tns:DatasetNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="login" parameterOrder="String_1">
      <input message="tns:DataManagerIF_login"/>
      <output message="tns:DataManagerIF_loginResponse"/>
      <fault name="InvalidPasswordException"
message="tns:InvalidPasswordException"/>
      <fault name="SessionInProgressException"
message="tns:SessionInProgressException"/></operation>
    <operation name="logout" parameterOrder="String_1">
      <input message="tns:DataManagerIF_logout"/>
      <output message="tns:DataManagerIF_logoutResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="removeDataset" parameterOrder="String_1 String_2">
      <input message="tns:DataManagerIF_removeDataset"/>
      <output message="tns:DataManagerIF_removeDatasetResponse"/>
      <fault name="DatasetNotFoundException"
message="tns:DatasetNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="removeGroup" parameterOrder="String_1 String_2">
      <input message="tns:DataManagerIF_removeGroup"/>
      <output message="tns:DataManagerIF_removeGroupResponse"/>
      <fault name="GroupNotFoundException"
message="tns:GroupNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="setDatasetOrder" parameterOrder="String_1 String_2
arrayOfString_3">
      <input message="tns:DataManagerIF_setDatasetOrder"/>
      <output message="tns:DataManagerIF_setDatasetOrderResponse"/>
      <fault name="DatasetNotFoundException"
message="tns:DatasetNotFoundException"/>
      <fault name="GroupNotFoundException"
message="tns:GroupNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="setGroupOrder" parameterOrder="String_1
arrayOfString_2">
      <input message="tns:DataManagerIF_setGroupOrder"/>
      <output message="tns:DataManagerIF_setGroupOrderResponse"/>
      <fault name="GroupNotFoundException"
message="tns:GroupNotFoundException"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation>
    <operation name="stopActivity" parameterOrder="String_1">
      <input message="tns:DataManagerIF_stopActivity"/>
      <output message="tns:DataManagerIF_stopActivityResponse"/>
      <fault name="SessionNotFoundException"
message="tns:SessionNotFoundException"/></operation></portType>
  <binding name="DataManagerIFBinding" type="tns:DataManagerIF">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="rpc"/>
    <operation name="addConnection">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="addGroup">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="applyChanges">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="applyInterimAmendment">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="InterimAmendmentFileNotFoundException">
        <soap:fault name="InterimAmendmentFileNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="copyDatasetFiles">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="DatasetFileNotFoundException">
        <soap:fault name="DatasetFileNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="copyGroupFile">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="GroupFileNotFoundException">
        <soap:fault name="GroupFileNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="copyInterimAmendmentFile">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="InterimAmendmentFileNotFoundException">
        <soap:fault name="InterimAmendmentFileNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="createDatabase">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="DatabaseCreationException">
        <soap:fault name="DatabaseCreationException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="getConnections">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="getDatasets">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="getGroups">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="getProgress">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="loadIntoOracle">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="DatasetNotFoundException">
        <soap:fault name="DatasetNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="login">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="InvalidPasswordException">
        <soap:fault name="InvalidPasswordException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionInProgressException">
        <soap:fault name="SessionInProgressException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="logout">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="removeDataset">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="DatasetNotFoundException">
        <soap:fault name="DatasetNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="removeGroup">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="GroupNotFoundException">
        <soap:fault name="GroupNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="setDatasetOrder">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="DatasetNotFoundException">
        <soap:fault name="DatasetNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="GroupNotFoundException">
        <soap:fault name="GroupNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="setGroupOrder">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="GroupNotFoundException">
        <soap:fault name="GroupNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion>
    <operation name="stopActivity">
      <soap:operation soapAction=""/>
      <input>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></input>
      <output>
        <soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></output>
      <fault name="SessionNotFoundException">
        <soap:fault name="SessionNotFoundException"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="http://www.trilogi.co.uk/datamanager/target"/></fault></opera
tion></binding>
  <service name="DataManager">
    <port name="DataManagerIFPort" binding="tns:DataManagerIFBinding">
      <soap:address
location="REPLACE_WITH_ACTUAL_URL"/></port></service></definitions>



********* client-stubs.xml:
<configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
  <wsdl location="http://localhost:1332/trilogiView/dataManagerRPC?WSDL"
packageName="com.piper.trilogiview.control.datamanager.testclient.jaxrpc
"/>
</configuration>

I hope this helps,

Ian.

-----Original Message-----
From: Doug Kohlert [mailto:Doug.Kohlert_at_Sun.COM]
Sent: 18 May 2005 17:40
To: users_at_jax-rpc.dev.java.net
Subject: Re: exception handling

Ian,
Can you send me the WSDL that was generated and the config.xml file you
use for the client?

Ian Jones wrote:

> Hi Doug,
>
> I've tried your suggestion of using namespaceMapping but, with the way
I
> attempted to set it up, it seemed to make no difference. Here is my
> wsdl-gen-config.xml using a <namespaceMapping>:
>
> <configuration
> xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
> <service
> name="DataManager"
> targetNamespace="http://www.trilogi.co.uk/datamanager/target"
> typeNamespace="http://www.trilogi.co.uk/datamanager"
> packageName="com.piper.trilogiview.control.datamanager">
> <interface
> name="com.piper.trilogiview.control.datamanager.DataManagerIF"/>
> <typeMappingRegistry>
> <additionalTypes>
> <class
> name="com.piper.trilogiview.control.datamanager.DatabaseType"/>
> <class
> name="com.piper.trilogiview.control.datamanager.GroupDataset"/>
> </additionalTypes>
> </typeMappingRegistry>
> <namespaceMappingRegistry>
> <namespaceMapping
> namespace="http://www.trilogi.co.uk/datamanager"
> packageName="com.piper.trilogiview.control.datamanager"/>
> <namespaceMapping
> namespace="http://www.trilogi.co.uk/datamanager/target"
> packageName="com.piper.trilogiview.control.datamanager.jaxrpc"/>
> </namespaceMappingRegistry>
>
> </service>
> </configuration>
>
> To be honest, from the example in the white paper, I couldn't really
get
> my head around what needed to be done for my situation, so it's quite
> possible that what I've done with the above config file makes little
> sense!
>
> Also, as I mentioned in my previous mail, I have tried just changing
the
> packageName attribute of the <service> element. The only affect this
> has on the generation is to put the
> DataManager_SerializerRegistry.java/class files into the specified
> package. I just wondered if this has any relevance or if, indeed,
this
> is correct?
>
> If you could advise where I may be going wrong with all of this it
will,
> once again, be greatly appreciated.
>
> Cheers,
>
> Ian.
>
> -----Original Message-----
> From: Doug Kohlert [mailto:Doug.Kohlert_at_Sun.COM]
> Sent: 17 May 2005 23:42
> To: users_at_jax-rpc.dev.java.net
> Subject: Re: exception handling
>
> Ian,
> Did you try to add a <namespaceMapping> entry in your config.xml.
> It will map Java packages to a namespace. Do this on the server.
> Then when creating the client, use a <namespaceMapping> again to map
> the namespaces to different packages. This might solve your problem.
> Please refer to 3.5.3 Adding namespace-to-package Mappings in
> https://jax-rpc.dev.java.net/whitepaper/1.1/index-part1.html for more
> information on namespace mappings.
>
> Ian Jones wrote:
>
>
>>Hi Doug,
>>
>>Yes that has worked! As you said, we were generating the WSDL from
>
> the
>
>>SEI and then generating the server artefacts from the WSDL. Now we are
>>using just one wscompile command to generate both of these things as
>>follows:
>>
>>C:\jwsdp-1.4\jaxrpc\bin\wscompile.bat -gen:server
>>com/piper/trilogiview/control/datamanager/wsdl-gen-config.xml -model
>>WEB-INF/DataManager.gz -classpath WEB-INF/classes -nd WEB-INF -keep -d
>>WEB-INF/classes -s .
>>
>>When used like this, and the client stubs have also been generated,
>
> the
>
>>exceptions get picked up by the client as expected.
>>
>>This also seems to solve the problem I mentioned of having to generate
>>the server ties into a temporary area. With the original way,
>
> wscompile
>
>>generated class files for all aspects of the SEI including the types
>
> and
>
>>exception classes. With the new way these are no longer generated.
>
> So,
>
>>with the above command the class files are just generated into our
>>WEB-INF/classes directory. However, it would also be preferable to
>
> keep
>
>>the generated java files which we are doing by using the -keep and -s
>>options, as above. But this generates them all in the directory where
>>the SEI is defined, i.e. with the IF and Impl classes etc, and this
>>becomes quite messy due to the number of classes being generated. In
>
> an
>
>>attempt to achieve this I amended the packageName attribute in our
>>wsdl-gen-config.xml, but this made little difference. So, is there any
>>way of specifying a different package for these to be generated into?
>>Or do they have to be in the same package? And, if so, is it still
>
> best
>
>>to jar up the server artefacts as we were doing before or to put them
>
> in
>
>>a WAR file and use wsdeploy?
>>
>>Many thanks for your help in solving this problem. Any help on the
>>final few queries I have there will be greatly appreciated.
>>
>>Ian.
>>
>>-----Original Message-----
>>From: Doug Kohlert [mailto:Doug.Kohlert_at_Sun.COM]
>>Sent: 16 May 2005 19:19
>>To: users_at_jax-rpc.dev.java.net
>>Subject: Re: exception handling
>>
>>Ian,
>>I think the problem is that you are trying to create server side
>>artifacts
>>by first, processing the SEI to create a WSDL and then using the WSDL
>
> to
>
>>do
>>the server side. I suggest you create the server side artifacts
>
> direcly
>
>>from
>>the SEI. Please refer to scenario 1 of
>>https://jax-rpc.dev.java.net/whitepaper/1.1/index-part2.html
>>on how to do this.
>>
>>Let me know if this works for you.
>>
>>Ian Jones wrote:
>>
>>
>>
>>>Hi Doug,
>>>
>>>Once again, many thanks for you help. Here is the information you
>>
>>asked
>>
>>
>>>for (By the way, this is all done using JWSDP 1.4):
>>>
>>>***** WSDL Generation:
>>>Contents of wsdl-gen-config.xml:
>>><configuration
>>> xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
>>> <service
>>> name="DataManager"
>>> targetNamespace="http://www.trilogi.co.uk/datamanager"
>>> typeNamespace="http://www.trilogi.co.uk/datamanager"
>>> packageName="com.piper.trilogiview.datamanager">
>>> <interface
>>>name="com.piper.trilogiview.datamanager.DataManagerIF"/>
>>> <typeMappingRegistry>
>>> <additionalTypes>
>>> <class
>>>name="com.piper.trilogiview.datamanager.DatabaseType"/>
>>> <class
>>>name="com.piper.trilogiview.datamanager.GroupDataset"/>
>>> </additionalTypes>
>>> </typeMappingRegistry>
>>> </service>
>>></configuration>
>>>
>>>wscompile command is run from D:\eclipse\workspace\trilogiView as
>>>follows:
>>>C:\jwsdp-1.4\jaxrpc\bin\wscompile.bat -define -g
>>>com/piper/trilogiview/datamanager/wsdl-gen-config.xml -model
>>>WEB-INF/DataManager.gz -classpath WEB-INF/classes -nd WEB-INF
>>>
>>>***** Generating server ties:
>>>Contents of tie-gen-config.xml:
>>><configuration
>>> xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
>>> <wsdl
>>>location="D:\eclipse\workspace\trilogiView\WEB-INF\DataManager.wsdl"
>>>packageName="com.piper.trilogiview.datamanager" />
>>></configuration>
>>>
>>>wscompile command is run in a temporary area, D:\temp, so that they
>>
>>can
>>
>>
>>>be built into a jar so that the generated class files don't conflict
>>>with the one defining the web service. To be honest, having to do
>>
>>this
>>
>>
>>>always feels like something we are doing incorrectly. This may also
>>>highlight another problem occurring with the exceptions being created
>>
>>as
>>
>>
>>>the generated DataManagerIF.class throws exceptions such as
>>>InvalidPasswordException_Exception instead of the specified
>>>InvalidPasswordException. So, if the server ties aren't made into a
>>
>>jar
>>
>>
>>>file and the DataManagerImpl class is changed then many compilation
>>>errors then occur. Perhaps it is something around this area that is
>>>causing the problems I am getting? Anyway, here is how the command
is
>>>run for this:
>>>
>>>C:\jwsdp-1.4\jaxrpc\bin\wscompile.bat -g -gen:server -f:searchschema
>>>
>>
>>
>
D:\eclipse\workspace\trilogiView\com\piper\trilogiview\datamanager\tie-g
>
>>>en-config.xml
>>>
>>>***** Generating client stubs:
>>>Contents of client-stubs.xml:
>>><configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">
>>> <wsdl
>>
>>location="http://localhost:1332/trilogiView/dataManagerRPC?WSDL"
>>
>>
>>>packageName="com.piper.datamanagertest.jaxrpc"/>
>>></configuration>
>>>
>>>wscompile command is run from D:\eclipse\workspace\dataManagerTest as
>>>follows:
>>>C:\jwsdp-1.4\jaxrpc\bin\wscompile.bat -gen:client -keep
>>>com/piper/datamanagertest/jaxrpc/client-stubs.xml -f:searchschema
>>>
>>>As you can see, we're not using the -d option on any of the commands.
>>
>>As
>>
>>
>>>for capturing the message on the wire, I'm not entirely sure what you
>>>mean. But if you still need this, if you could clarify slightly I
>>
>>will
>>
>>
>>>get you that as well.
>>>
>>>Many thanks,
>>>
>>>Ian.
>>>
>>>-----Original Message-----
>>>From: Doug Kohlert [mailto:Doug.Kohlert_at_Sun.COM]
>>>Sent: 11 May 2005 16:38
>>>To: users_at_jax-rpc.dev.java.net
>>>Subject: Re: exception handling
>>>
>>>Ian,
>>>Can you send the contents of tie-gen-config.xml, client-stubs.xml,
>>>wsdl-gen-config.xml.
>>>
>>>Also, are you using -d options on any of the commands?
>>>What directory are your invoking the commands from?
>>>If possible, can you capture the message on the wire and
>>>send it to me?
>>>
>>>
>>>Ian Jones wrote:
>>>
>>>
>>>
>>>
>>>>Hi Doug,
>>>>
>>>>Thanks for that. However I have tried your suggestion and I still
>
> get
>
>>>>the same result. Here are a few more details about what I'm doing -
>>>
>>>any
>>>
>>>
>>>
>>>>more help you can give will be greatly appreciated:
>>>>
>>>>This is where I throw the exception in my implementation class:
>>>>
>>>> public String login(String password) throws RemoteException,
>>>>InvalidPasswordException {
>>>> Environment env = Environment.getInstance();
>>>> String dmPassword =
>>>>env.getMainConfig().getDataManagerPassword();
>>>> if (password.equals(dmPassword)) {
>>>> String sessionId = getSessionId();
>>>> return sessionId;
>>>> } else {
>>>> throw new InvalidPasswordException();
>>>> }
>>>> }
>>>>
>>>>And here is my latest version of the InvalidPasswordException class,
>>>>with your suggested changes:
>>>>
>>>>public class InvalidPasswordException extends Exception {
>>>>
>>>> public InvalidPasswordException() {
>>>> super("Invalid password");
>>>> }
>>>>
>>>>}
>>>>
>>>>When the exception gets thrown by the implementation class the
server
>>>>generates the following stack trace (this is just the first few
>>
>>lines):
>>
>>
>>>>
>>>>SEVERE: JAXRPC.TIE.01: caught exception while handling request:
>>>>com.piper.trilogiview.datamanager.exceptions.InvalidPasswordExceptio
n
>
> :
>
>>>>Invalid password
>>>>com.piper.trilogiview.datamanager.exceptions.InvalidPasswordExceptio
n
>
> :
>
>>>>Invalid password
>>>> at
>>>>com.piper.trilogiview.datamanager.DataManagerImpl.login(DataManagerI
m
>
> p
>
>>l
>>
>>
>>>.
>>>
>>>
>>>
>>>>java:53)
>>>> at
>>>>com.piper.trilogiview.datamanager.DataManagerIF_Tie.invoke_login(Dat
a
>
> M
>
>>a
>>
>>
>>>n
>>>
>>>
>>>
>>>>agerIF_Tie.java:248)
>>>> at
>>>>com.piper.trilogiview.datamanager.DataManagerIF_Tie.processingHook(D
a
>
> t
>
>>a
>>
>>
>>>M
>>>
>>>
>>>
>>>>anagerIF_Tie.java:1445)
>>>> at
>>>>com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java
:
>
> 2
>
>>2
>>
>>
>>>8
>>>
>>>
>>>
>>>>)
>>>> at
>>>>com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRPCServl
e
>
> t
>
>>D
>>
>>
>>>e
>>>
>>>
>>>
>>>>legate.java:316)
>>>>
>>>>
>>>>
>>>>Meanwhile the stack trace of the exception caught on the client is
>>
>>this
>>
>>
>>>>(again, just the first few lines):
>>>>
>>>>
>>>>
>>>>java.rmi.ServerException: JAXRPC.TIE.04: Internal Server Error
>>>>(JAXRPC.TIE.01: caught exception while handling request:
>>>>com.piper.trilogiview.datamanager.exceptions.InvalidPasswordExceptio
n
>
> :
>
>>>>Invalid password)
>>>> at
>>>>com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.j
a
>
> v
>
>>a
>>
>>
>>>:
>>>
>>>
>>>
>>>>372)
>>>> at
>>>>com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:22
4
>
> )
>
>>>> at
>>>>com.piper.datamanagertest.jaxrpc.DataManagerIF_Stub.login(DataManage
r
>
> I
>
>>F
>>
>>
>>>_
>>>
>>>
>>>
>>>>Stub.java:188)
>>>> at
>>>>com.piper.datamanagertest.testclient.LoginTest.testInvalidLogin(Logi
n
>
> T
>
>>e
>>
>>
>>>s
>>>
>>>
>>>
>>>>t.java:71)
>>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>>> at
>>>>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl
.
>
> j
>
>>a
>>
>>
>>>v
>>>
>>>
>>>
>>>>a:39)
>>>> at
>>>>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce
s
>
> s
>
>>o
>>
>>
>>>r
>>>
>>>
>>>
>>>>Impl.java:25)
>>>>
>>>>
>>>>As you can see the client exception is a ServerException which seems
>>
>>to
>>
>>
>>>>reference the InvalidPasswordException within it.
>>>>
>>>>I'm using wscompile to generate WSDL, server ties and client stubs
>>
>>from
>>
>>
>>>>the Java interface. Is there anything I need to add to any of the
>>>>config files for these to do with exceptions, as I haven't added
>>>>anything at the moment? Or is there a flag I need to specify on
>>>>wscompile? Here are the flags I'm using for wscompile at the
moment:
>>>>
>>>>For WSDL generation:
>>>>-define -g com/piper/datamanager/wsdl-gen-config.xml -model
>>>>WEB-INF/DataManager.gz -classpath WEB-INF/classes -nd WEB-INF
>>>>
>>>>For generating server ties:
>>>>-g -gen:server -f:searchschema
>>
>>com\piper\datamanager\tie-gen-config.xml
>>
>>
>>>>For generating client stubs:
>>>>-gen:client -keep com/piper/datamanagertest/jaxrpc/client-stubs.xml
>>>>-f:searchschema
>>>>
>>>>Again, many thanks for any further help with this,
>>>>
>>>>Ian.
>>>>
>>>>-----Original Message-----
>>>>From: Doug Kohlert [mailto:Doug.Kohlert_at_Sun.COM]
>>>>Sent: 10 May 2005 18:28
>>>>To: users_at_jax-rpc.dev.java.net
>>>>Subject: Re: exception handling
>>>>
>>>>Ian,
>>>>InvalidPasswordException_Exception is the proper name on the client.
>>>
>>>Try
>>>
>>>
>>>
>>>>modifying your
>>>>exception class on the server to be:
>>>>
>>>>public class InvalidPasswordException extends Exception {
>>>>
>>>>public InvalidPasswordException() {
>>>>
>>>>super("bad password");
>>>>
>>>>}
>>>>
>>>>
>>>>}
>>>>
>>>>and see if that works.
>>>>
>>>>Ian Jones wrote:
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>All,
>>>>>
>>>>>I'm attempting to throw a service-specific exception in my JAX-RPC
>>
>>web
>>
>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>service. This exception is defined, simply, as follows:
>>>>>
>>>>>public class InvalidPasswordException extends Exception {
>>>>>
>>>>>public InvalidPasswordException() {
>>>>>
>>>>>}
>>>>>
>>>>>}
>>>>>
>>>>>and is thrown in the interface of my web service here:
>>>>>
>>>>>String login(String password) throws RemoteException,
>>>>>
>>>>>InvalidPasswordException;
>>>>>
>>>>>I then use wscompile to generate the WSDL, server ties and client
>>>>>stubs. However the client stub generated for the exception is
called
>
>
>>>>>InvalidPasswordException_Exception and this is thrown by the login
>>>>>method's client stub. Is this what should happen?
>>>>>
>>>>>In my client I attempt to catch this
>>>>>InvalidPasswordException_Exception exception as follows:
>>>>>
>>>>>try {
>>>>>
>>>>>client.login("random");
>>>>>
>>>>>fail("Password was not invalid");
>>>>>
>>>>>} catch (InvalidPasswordException_Exception e) {
>>>>>
>>>>>return;
>>>>>
>>>>>} catch (ServerException e) {
>>>>>
>>>>>fail(e.getMessage());
>>>>>
>>>>>} catch (Exception e) {
>>>>>
>>>>>e.printStackTrace();
>>>>>
>>>>>fail("failed due to exception " + e.getMessage());
>>>>>
>>>>>}
>>>>>
>>>>>In this case the server correctly attempts to throw a new
>>>>>InvalidPasswordException, but the client catches a ServerException
>>>>>which mentions the InvalidPasswordException within it's message. Is

>>>>>this also correct? Shouldn't I just be able to catch an
>>>>>InvalidPasswordException as specified by the service's interface?
>>>>>
>>>>>Many thanks for any help,
>>>>>
>>>>>Ian Jones
>>>>>
>>>>>Senior Analyst Developer
>>>>>
>>>>>Piper Group plc
>>>>>
>>>>>Email: ijones_at_piper-group.com
>>>>>
>>>>>Tel: + 44 (0) 1454 284900
>>>>>
>>>>>Fax: + 44 (0) 1454 284950
>>>>>
>>>>>www.piper-group.com <http://www.piper-group.com/>
>>>>>
>>>>>Information contained in this e-mail is intended for the use of the

>>>>>addressee only, and is confidential and may be the subject of legal

>>>>>professional privilege. Any dissemination, distribution, copying or

>>>>>use of this communication without permission of the addressee is
>>>>>strictly prohibited. The views expressed in this communication may
>>
>>not
>>
>>
>>>>>
>>>>>
>>>>
>>>>
>>>>
>>>>
>>>>>necessarily be the views held by Piper Group plc.
>>>>>
>>>>>
>>>>>
>>>>
>>>>--------------------------------------------------------------------
-
>>>>To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
>>>>For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>>>>
>>>>
>>>>
>>>>
>>>>--------------------------------------------------------------------
-
>>>>To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
>>>>For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>>>>
>>>>
>>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
>>>For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>>>
>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
>>>For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net
>>>
>>
>>
>

-- 
Doug Kohlert
Java Software Division
Sun Microsystems, Inc.
phone: 503 345-9806
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe_at_jax-rpc.dev.java.net
For additional commands, e-mail: users-help_at_jax-rpc.dev.java.net