You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Mick Knutson <mi...@gmail.com> on 2008/04/12 21:24:45 UTC

[2.0.5] need help creating client in TestNG and Spring

I have tried the example
http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.html for
setting up a service. My service has a DAO going against my database. This
service works just fine external using SoapUI when deployed into tomcat.

But I want to deploy to embeded tomcat, and execute via testNG. When I use
the following test client:

    *<bean id="userClient"
class="com.baselogic.service.impl.UserManagerImpl"
          factory-bean="userClientFactory" factory-method="create"/>

    <!-- Factory to create the dynamic proxy -->
    <bean id="userClientFactory"
class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
        <property name="serviceClass"
value="com.baselogic.service.UserManager"/>
        <property name="address" value="
http://localhost:8080/webapp-2.2/cxf/UserService"/>
    </bean>


**From my UserManagerImpl:
**
**    public User getUser(String userId) throws UserNotFoundException {*
*
log.debug("======================================================");*
*        log.debug("getUser(String userId) " + userId);*
*
log.debug("======================================================");*

*        User user = userDao.read(Long.valueOf(userId));*
*        if(user == null){*
*            throw new UserNotFoundException("user " + userId + " Not
Found");*
*        }*
*        return user;*
*    }*
*
*
I seem to get a version of com.baselogic.service.UserManager that was
proxied that does not have any of my debug statements or the doa. Thus I get
back a null object, and nothing is printed.

So what is the proper usage for me to start a cxf client to access a
deployed webservice to my embeded container so that is uses the deployed
service, and does not re-create a new one?



-- 
Thanks,
Mick Knutson

http://www.baselogic.com
http://www.blincmagazine.com
http://www.linkedin.com/in/mickknutson
http://www.djmick.com
http://www.myspace.com/mickknutson
http://www.myspace.com/BLiNCMagazine
http://tahoe.baselogic.com
---

Re: [2.0.5] need help creating client in TestNG and Spring

Posted by Mick Knutson <mi...@gmail.com>.
*So I added a logging interceptor in my TestNG:*
           * JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();

            factory.getInInterceptors().add(new LoggingInInterceptor());
            factory.getOutInterceptors().add(new LoggingOutInterceptor());
            factory.setServiceClass(UserManager.class);
            factory.setAddress("
http://localhost:8080/webapp-2.2/cxf/UserService");
*

*So I now get this in my debug:*
*Encoding: UTF-8
Headers: {SOAPAction=[""], Accept=[*]}
Messages:
Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getUser
xmlns:ns1="http://service.baselogic.com/">
<userId>-1</userId></ns1:getUser></soap:Body></soap:Envelope>
--------------------------------------
12-Apr-2008 15:44:45 org.apache.cxf.interceptor.LoggingInInterceptor logging
INFO: Inbound Message
----------------------------
Encoding: UTF-8
Headers: {Content-Length=[1576], Date=[Sat, 12 Apr 2008 22:44:45 GMT],
SOAPAction=[""], Server=[Apache-Coyote/1.1], content-type=[text/xml;charse
t=UTF-8]}
Messages:
Message:

Payload: <soap:Envelope xmlns:soap="
http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ns1:getUserResponse
xmlns:ns1="http://service.baselogi
c.com/"><return><ns2:address
xmlns:ns2="http://domain.baselogic.com"><ns2:address>725
Florida Street #5</ns2:address><ns2:city>San Francisco</ns2
:city><ns2:country>US</ns2:country><ns2:id>-1</ns2:id><ns2:postalCode>94110</ns2:postalCode><ns2:province>CA</ns2:province><ns2:version>1</ns2:ve
rsion></ns2:address><ns2:confirmPassword xmlns:ns2="
http://domain.baselogic.com" xmlns:ns3="
http://www.w3.org/2001/XMLSchema-instance" ns3:nil="t
rue" /><ns2:email xmlns:ns2="http://domain.baselogic.com">
mickknutson@removed.com</ns2:email><ns2:firstName xmlns:ns2="
http://domain.baselogic.com"
>Mick</ns2:firstName><ns2:id
xmlns:ns2="http://domain.baselogic.com">-1</ns2:id><ns2:lastName
xmlns:ns2="http://domain.baselogic.com">Knutson</ns
2:lastName><ns2:password
xmlns:ns2="http://domain.baselogic.com">12dea96fec20593566ab75692c9949596833adc9</ns2:password><ns2:passwordHint
xmlns:n
s2="http://domain.baselogic.com">A male
kitty.</ns2:passwordHint><ns2:phoneNumber xmlns:ns2="
http://domain.baselogic.com">(415) 648-1804</ns2:pho
neNumber><ns2:roles xmlns:ns2="http://domain.baselogic.com" xmlns:ns3="
http://www.w3.org/2001/XMLSchema-instance" ns3:nil="true" /><ns2:username
xmlns:ns2="http://domain.baselogic.com">mickknutson</ns2:username><ns2:version
xmlns:ns2="http://domain.baselogic.com">1</ns2:version><ns2:websit
e xmlns:ns2="http://domain.baselogic.com">http://baselogic.com
</ns2:website></return></ns1:getUserResponse></soap:Body></soap:Envelope>
*

*But When i actually try tot get the data from my UserManager:*
            *User user = userManager.getUser("-1");
            Address address = user.getAddress();
            //log.debug("userManager.getUser: " + user.getUsername());

log.debug("======================================================");
            log.debug("user: " + user.toString());

log.debug("======================================================");*

*I still get <null> for everything.*
*[myproject] DEBUG [main] UserServiceTest.testGetUser2(155) |
======================================================
[myproject] DEBUG [main] UserServiceTest.testGetUser2(156) | user:
com.baselogic.domain.User@97aaa6[username=<null>
,password=<null>,confirmPasswo
rd=<null>,passwordHint=<null>,firstName=<null>,lastName=<null>,address=<null>,email=<null>,phoneNumber=<null>,website=<null>,roles=[],enabled=fal
se,accountExpired=false,accountLocked=false,credentialsExpired=false,id=<null>,version=<null>]
*

Can someone help me understand what I am missing here? How do I get access
to this payload? it appears the data is returning correctly, I just can't
get access to it.



On Sat, Apr 12, 2008 at 12:24 PM, Mick Knutson <mi...@gmail.com>
wrote:

> I have tried the example
> http://cwiki.apache.org/CXF20DOC/writing-a-service-with-spring.html for
> setting up a service. My service has a DAO going against my database. This
> service works just fine external using SoapUI when deployed into tomcat.
>
> But I want to deploy to embeded tomcat, and execute via testNG. When I use
> the following test client:
>
>     *<bean id="userClient"
> class="com.baselogic.service.impl.UserManagerImpl"
>           factory-bean="userClientFactory" factory-method="create"/>
>
>     <!-- Factory to create the dynamic proxy -->
>     <bean id="userClientFactory"
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
>         <property name="serviceClass"
> value="com.baselogic.service.UserManager"/>
>         <property name="address" value="
> http://localhost:8080/webapp-2.2/cxf/UserService"/>
>     </bean>
>
>
> **From my UserManagerImpl:
> **
> **    public User getUser(String userId) throws UserNotFoundException {*
> *
> log.debug("======================================================");*
> *        log.debug("getUser(String userId) " + userId);*
> *
> log.debug("======================================================");*
>
> *        User user = userDao.read(Long.valueOf(userId));*
> *        if(user == null){*
> *            throw new UserNotFoundException("user " + userId + " Not
> Found");*
> *        }*
> *        return user;*
> *    }*
> *
> *
> I seem to get a version of com.baselogic.service.UserManager that was
> proxied that does not have any of my debug statements or the doa. Thus I get
> back a null object, and nothing is printed.
>
> So what is the proper usage for me to start a cxf client to access a
> deployed webservice to my embeded container so that is uses the deployed
> service, and does not re-create a new one?
>
>
>
> --
> Thanks,
> Mick Knutson
>
> http://www.baselogic.com
> http://www.blincmagazine.com
> http://www.linkedin.com/in/mickknutson
> http://www.djmick.com
> http://www.myspace.com/mickknutson
> http://www.myspace.com/BLiNCMagazine
> http://tahoe.baselogic.com
> ---




-- 
Thanks,
Mick Knutson

http://www.baselogic.com
http://www.blincmagazine.com
http://www.linkedin.com/in/mickknutson
http://www.djmick.com
http://www.myspace.com/mickknutson
http://www.myspace.com/BLiNCMagazine
http://tahoe.baselogic.com
---