Hi Simone and Andy,
InfoBook is the Interface implemented by the service, which offers one
operation (giveMeInformationOF(String)) which returns
ItemBook_0Mini (ItemBook_0Mini is a bean, which simply contains several
Strings).
The service works with this type without the aspect, so there shouldn´t be
any problem with its serialization; it is when the around advice is included
when it does not work any more.
What could it be?
Thanks a lot,
Guadalupe

2009/5/13 Simone Gianni <[email protected]>

> Hi Guadalupe,
> sorry, I missed your previous reply.
>
> The aspect seems right, as long as the method
> InfoBook.giveMeInformationOF(String) is declared as :
>
> ItemBook_0Mini InfoBook.giveMeInformationOF(String s) { .. }
>
> What i see from the exception is :
> - I don't manage to understand if the exception is complete, often the
> InvocationTargetException is itself wrapping another inner exception, which
> is the real cause of failure.
> - The method is called on a SoapStub, so I suppose InfoBook is an
> interface. Could it be that the Soap stub requires it to return a stub
> subinterface? Therefore the book you are returning from the aspect is not
> the correct type to return when the call is performed on the stub? This
> would explain also why with strings it works correctly : strings are not
> stubbed.
>
>
> Simone
>
>
> Guadalupe Ortiz wrote:
>
>> Hi all,
>> Anybody had did problem with complex types? Any clue or sugestion?
>> Thanks a lot,
>> Guadalupe
>>
>> 2009/5/8 Guadalupe Ortiz <[email protected] <mailto:[email protected]>>
>>
>>
>>
>>    Hi Simone,
>>    I paste below the full error code. I have also pasted the aspect
>>    code and the class definition.
>>    Thanks a lot,
>>    Guadalupe
>>    ASPECT CODE:
>>    package mainpack;
>>    import clases.ItemBook_0Mini;
>>    import clases.ItemBook_1Base;
>>    import clases.ItemBook_2Complete;
>>    import clases.ItemBook_3Extended;
>>    import bibliohandler.MyHandlerClass;
>>    import bibliohandler.MyHandlerClass.tipos_dispositivos;
>>
>>    public aspect CheckDeviceType {
>>     pointcut giveMeInformationOF_pointcut (String ISBN): execution(*
>>    InfoBook.giveMeInformationOF(String))&&args(ISBN);
>>         ItemBook_0Mini around(String ISBN):
>>    giveMeInformationOF_pointcut(ISBN){
>>      ItemBook_0Mini book=new ItemBook_0Mini ();
>>      book.setTitle("Web Services: Principles and Technology");
>>      book.setISBN("321155556");
>>      book.setPrice("67.50 Euros");
>>      System.out.println("ASPECT");
>>      return book;       }        CLASS ITEMBOOK_0MINI:
>>    *
>>
>>    package
>>
>>    * clases; *
>>
>>    public
>>
>>    * *class* ItemBook_0Mini { *private* String ISBN; *private* String
>>    price; *private* String title;
>>
>>    [...]
>>
>>    ERROR:
>>
>>    xisFault
>>
>>    faultCode: {
>>
>>    
>> _http://schemas.xmlsoap.org/soap/envelope/}Server.userException<http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>
>>    <http://schemas.xmlsoap.org/soap/envelope/%7DServer.userException>_
>>
>>    faultSubcode:
>>
>>    faultString:
>>
>>    _java.lang.reflect.InvocationTargetException_
>>
>>    faultActor:
>>
>>    faultNode:
>>
>>    faultDetail:
>>
>>    
>> {http://xml.apache.org/axis/}hostname:TheMachine<http://xml.apache.org/axis/%7Dhostname:TheMachine>
>>    <http://xml.apache.org/axis/%7Dhostname:TheMachine>
>>
>>
>>    _
>>
>>    java.lang.reflect.InvocationTargetException
>>
>>    _
>>
>>    at org.apache.axis.message.SOAPFaultBuilder.createFault(
>>
>>    _SOAPFaultBuilder.java:222_)
>>
>>    at org.apache.axis.message.SOAPFaultBuilder.endElement(
>>
>>    _SOAPFaultBuilder.java:129_)
>>
>>    at org.apache.axis.encoding.DeserializationContext.endElement(
>>
>>    _DeserializationContext.java:1087_)
>>
>>    at
>>
>>  
>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown
>>    Source)
>>
>>    at
>>
>>  
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown
>>    Source)
>>
>>    at
>>
>>  
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown
>>    Source)
>>
>>    at
>>
>>  com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown
>>    Source)
>>
>>    at
>>
>>  
>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown
>>    Source)
>>
>>    at
>>
>>  
>> com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
>>    Source)
>>
>>    at
>>
>>  com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
>>    Source)
>>
>>    at
>>
>>  com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown
>>    Source)
>>
>>    at
>>    com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown
>>    Source)
>>
>>    at
>>
>>  com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown
>>    Source)
>>
>>    at
>>
>>  
>> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown
>>    Source)
>>
>>    at javax.xml.parsers.SAXParser.parse(Unknown Source)
>>
>>    at org.apache.axis.encoding.DeserializationContext.parse(
>>
>>    _DeserializationContext.java:227_)
>>
>>    at org.apache.axis.SOAPPart.getAsSOAPEnvelope(
>>
>>    _SOAPPart.java:696_)
>>
>>    at org.apache.axis.Message.getSOAPEnvelope(
>>
>>    _Message.java:435_)
>>
>>    at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(
>>
>>    _MustUnderstandChecker.java:62_)
>>
>>    at org.apache.axis.client.AxisClient.invoke(
>>
>>    _AxisClient.java:206_)
>>
>>    at org.apache.axis.client.Call.invokeEngine(
>>
>>    _Call.java:2784_)
>>
>>    at org.apache.axis.client.Call.invoke(
>>
>>    _Call.java:2767_)
>>
>>    at org.apache.axis.client.Call.invoke(
>>
>>    _Call.java:2443_)
>>
>>    at org.apache.axis.client.Call.invoke(
>>
>>    _Call.java:2366_)
>>
>>    at org.apache.axis.client.Call.invoke(
>>
>>    _Call.java:1812_)
>>
>>    at mainpack.InfoBookSoapBindingStub.giveMeInformationOF(
>>
>>    _InfoBookSoapBindingStub.java:350_)
>>
>>    at mainclient.HeaderClientWin$1.actionPerformed(
>>
>>    _HeaderClientWin.java:49_)
>>
>>    at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
>>
>>    at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
>>
>>    at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
>>
>>    at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
>>
>>    at
>>    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown
>>    Source)
>>
>>    at java.awt.AWTEventMulticaster.mouseReleased(Unknown Source)
>>
>>    at java.awt.Component.processMouseEvent(Unknown Source)
>>
>>    at javax.swing.JComponent.processMouseEvent(Unknown Source)
>>
>>    at java.awt.Component.processEvent(Unknown Source)
>>
>>    at java.awt.Container.processEvent(Unknown Source)
>>
>>    at java.awt.Component.dispatchEventImpl(Unknown Source)
>>
>>    at java.awt.Container.dispatchEventImpl(Unknown Source)
>>
>>    at java.awt.Component.dispatchEvent(Unknown Source)
>>
>>    at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
>>
>>    at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
>>
>>    at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
>>
>>    at java.awt.Container.dispatchEventImpl(Unknown Source)
>>
>>    at java.awt.Window.dispatchEventImpl(Unknown Source)
>>
>>    at java.awt.Component.dispatchEvent(Unknown Source)
>>
>>    at java.awt.EventQueue.dispatchEvent(Unknown Source)
>>
>>    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
>>
>>    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
>>
>>    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
>>
>>    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>
>>    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
>>
>>    at java.awt.EventDispatchThread.run(Unknown Source)
>>
>>
>>
>>    2009/5/8 Simone Gianni <[email protected]
>>    <mailto:[email protected]>>
>>
>>        Hi Guadalupe,
>>        can you post the entire exception stack trace? It could be
>>        that the return type of your around advice is not compatible
>>        with the return type of the adviced methods.
>>
>>        Simone
>>
>>        Guadalupe Ortiz wrote:
>>
>>            Hi all,
>>            I have tested LTW with a Web service and worked perfectly
>>            well when the operation intercepted in the joinpoint
>>            returned a basic type (such as a String).
>>             However when the operation returns a complex type defined
>>            by the user and I include an around advice in the aspect,
>>            I get an error.
>>            The error is
>>            "java.lang.reflect.InvocationTargetException". (When doing
>>            it with compile time weaving it works)
>>             I have tried to include the classes in the classpath when
>>            creating the jar and I have also created the jar also
>>            compiling the classes. In any case I get the same error. I
>>            guess it shouldnt be dificult to do this and I am probably
>>            missing a silly step.
>>             Thanks a lot for your help,
>>             Guadalupe
>>
>>  ------------------------------------------------------------------------
>>
>>            _______________________________________________
>>            aspectj-users mailing list
>>            [email protected] <mailto:[email protected]>
>>            https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>>
>>        --        Simone Gianni            CEO Semeru s.r.l.
>> Apache
>>        Committer
>>        http://www.simonegianni.it/
>>
>>        _______________________________________________
>>        aspectj-users mailing list
>>        [email protected] <mailto:[email protected]>
>>        https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>>
>>
>>    --    Dr. Guadalupe Ortiz Bellot
>>    Assistant Professor
>>    Computer Science Department
>>    University of Extremadura
>>
>>    [email protected] <mailto:[email protected]>
>>    http://personales.ya.com/gobellot/
>>
>>    Quercus Software Engineering Group
>>    http://quercusseg.unex.es
>>
>>
>>
>>
>> --
>> Dr. Guadalupe Ortiz Bellot
>> Assistant Professor
>> Computer Science Department
>> University of Extremadura
>>
>> [email protected] <mailto:[email protected]>
>> http://personales.ya.com/gobellot/
>>
>> Quercus Software Engineering Group
>> http://quercusseg.unex.es
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> aspectj-users mailing list
>> [email protected]
>> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>>
>>
>
>
> --
> Simone Gianni            CEO Semeru s.r.l.           Apache Committer
> http://www.simonegianni.it/
>
> _______________________________________________
> aspectj-users mailing list
> [email protected]
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>



-- 
Dr. Guadalupe Ortiz Bellot
Assistant Professor
Computer Science Department
University of Extremadura

[email protected]
http://personales.ya.com/gobellot/

Quercus Software Engineering Group
http://quercusseg.unex.es
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to