Hi Raymond.  Thanks for your patience.

With the factory declaraion I'm getting the same thing...

org.apache.tuscany.spi.wire.InvocationRuntimeException: Type '{
http://www.bea.com/medrec}getString' not found in registered SDO types.
   at org.apache.tuscany.binding.celtix.io.NodeDataWriter.toXMLDocument(
NodeDataWriter.java:142)
   at org.apache.tuscany.binding.celtix.io.NodeDataWriter.writeWrapper(
NodeDataWriter.java:84)
   at org.apache.tuscany.binding.celtix.io.NodeDataWriter.writeWrapper(
NodeDataWriter.java:47)
   at org.objectweb.celtix.bus.bindings.soap.SOAPBindingImpl.addParts(
SOAPBindingImpl.java:567)
   at org.objectweb.celtix.bus.bindings.soap.SOAPBindingImpl.marshal(
SOAPBindingImpl.java:119)
   at org.objectweb.celtix.bindings.Request.process(Request.java:91)


org.apache.tuscany.spi.wire.InvocationRuntimeException: Type '{
http://www.bea.com/medrec}getPatient' not found in registered SDO types.

Updated scdl:

E:/sca/tuscany/java/samples/sca/medrec 190$ cat
target/classes/META-INF/sca/default.scdl
<?xml version="1.0" encoding="UTF-8"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0";
          xmlns:system="http://tuscany.apache.org/xmlns/system/1.0-SNAPSHOT
"
          name="tuscanyWS2WLS">

 <!--<import.sdo location="wsdl/MedRecWebServices.wsdl"/>-->

 <import.sdo factory="com.bea.proto.webservice.MedRecWebServicesFactory"/>

 <component name="MedRecWebServicesServiceComponent">
   <implementation.java class="
com.bea.proto.webservice.client.MedRecWebServicesServiceComponent"/>
   <references>
     <reference
name="medRecWebServicesService">MedRecWebServicesService</reference>
   </references>
 </component>

 <reference name="MedRecWebServicesService">
   <interface.java interface="
com.bea.proto.webservice.client.MedRecWebServicesService"/>
   <binding.ws endpoint="
http://www.bea.com/medrec#wsdl.endpoint(MedRecWebServices/MedRecWebServicesPort)
"
       location="wsdl/MedRecWebServices.wsdl" />
 </reference>

</composite>


On 8/30/06, Raymond Feng <[EMAIL PROTECTED]> wrote:

Hi, Chris.

You probably need to use the following "import.sdo":

<import.sdo factory="com.bea.proto.webservice.MedRecWebServicesFactory"/>

Thanks,
Raymond

----- Original Message -----
From: "Chris Wall" <[EMAIL PROTECTED]>
To: <tuscany-dev@ws.apache.org>
Sent: Wednesday, August 30, 2006 4:24 PM
Subject: Re: Returning DynamicDataObjectImpl from web service call
produces
TargetException leads to ClassCastException


> Hey.  Comments inline...
>
>
> On 8/30/06, Raymond Feng <[EMAIL PROTECTED]> wrote:
>>
>> Hi, Chris.
>>
>> If you have <import.sdo location="wsdl/MedRecWebServices.wsdl"/>, it
>> means
>> that you prefer to use the dynamic SDO model derived from the WSDL/XSD.
I
>> have two questions:
>
>
> CW:  Ahh, I did not know.  Yet, if I remove the import the following
line
> throws an exception:
>
> [NodeDataWriter}
> Property property = xsdHelper.getGlobalProperty(
>            elementQName.getNamespaceURI(), elementQName.getLocalPart(),
> true);
>
> org.apache.tuscany.spi.wire.InvocationRuntimeException: Type '{
> http://www.bea.com/medrec}getString' not found in registered SDO types.
>
> With import.sdo, this web service call returns successfully.
>
> 1) Is the exception from client side or server side?
>
>
> CW:  Client.  Occurs within Proxy.getPatient(...).
>
> 2) What's our business interface expecting? The strongly-typed java
>> class/interface generated by SDO or the dynamic DataObject?
>
>
> CW: Strongly-typed:
>
> com.bea.proto.webservice.Patient
> getPatient(com.bea.proto.webservice.PatientpPatient) throws Exception;
>
>
> Basically, the "import.sdo" needs to be consistent with your business
>> interface signature.
>>
>> Thanks,
>> Raymond
>>
>> ----- Original Message -----
>> From: Chris Wall
>> To: Raymond Feng
>> Sent: Wednesday, August 30, 2006 4:05 PM
>> Subject: Re: Returning DynamicDataObjectImpl from web service call
>> produces
>> TargetException leads to ClassCastException
>>
>>
>> Hey Raymond.
>>
>> Our *client* scdl has:
>> <import.sdolocation="wsdl/MedRecWebServices.wsdl"/>.
>>
>> Deserialized into the dynamic SDO makes
>> sense.  XMLStreamReader2XMLDocument
>> parses the stream and creates a DynamicDataObjectImpl as it's root
>> object.
>> DynamicDataObjectImpl is aware of it's Patient context -
>> name=getPatientResponse, package=java: com.bea.proto.webservice, and
>> attributes.  It's the root object that is returned from the binding.
>>
>> Shouldn't there be an intermediate step that generates a Patient
object?
>>
>> -Chris
>>
>>
>>
>> On 8/30/06, Raymond Feng <[EMAIL PROTECTED]> wrote:
>> Hi,
>>
>> It seems that the exception is thrown from the target component and
it's
>> related to the static/dynamic SDO (The incoming XML got deserialized
into
>> the dynamic SDO instead of the generated static class which your
>> component
>> implementation code expects).
>>
>> What does the "import.sdo" look like on the server side? Using "<
>> import.sdo
>> factory="..."/>"?
>>
>> Thanks,
>> Raymond
>> ----- Original Message -----
>> From: Chris Wall
>> To: tuscany-dev@ws.apache.org ; [EMAIL PROTECTED]
>> Sent: Wednesday, August 30, 2006 2:37 PM
>> Subject: Returning DynamicDataObjectImpl from web service call produces
>> TargetException leads to ClassCastException
>>
>>
>> Hi.  After a successful invocation of a web service, a TargetException
>> occurs ("Cannot evaulate $Proxy35.toString()") after body is returned
>> from
>> JDKOutboundInvocationHandler.  This eventually leads to a
>> ClassCastException:
>>
>> java.lang.ClassCastException:
>> org.apache.tuscany.sdo.impl.DynamicDataObjectImpl
>>     at $Proxy35.getPatient(Unknown Source)
>>     at
>>
>>
com.bea.proto.webservice.client.MedRecWebServicesServiceComponent.getPatient
>> (
>> MedRecWebServicesServiceComponent.java:26)
>>
>> Unfortunately I couldn't figure out how to get the full stacktrace from
>> TargetException.
>>
>> Admittedly, this one has me confused.  My first question is why is this
>> happening?  My second question is when, if ever, does the SDO layer
>> convert
>> the DynamicDataObjectImpl back to the intended return object (in this
>> case
>> a
>> Patient object).
>>
>> Thanks.
>>
>> -Chris
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to