So, this class triggers a problem using aegis. Instead of using "A_A" and
"B_B", one can use "A", and "B" and that would work. Anyone knows if this is a
java enum problem or if it is due to aegis?
Thanks...
public enum MyEnum
{
A("A_A"),
B("B_B");
MyEnum(String aMsg)
{
msg = aMsg;
}
@Override
public String toString()
{
return(msg);
}
private String msg;
}
org.apache.cxf.interceptor.Fault: No enum const class xyz.domain.MyEnum.B_B
at
org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:49)
at
org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:34)
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:235)
at
org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:120)
--- On Sun, 10/26/08, Coder One <[EMAIL PROTECTED]> wrote:
> From: Coder One <[EMAIL PROTECTED]>
> Subject: Re: CXF 2.1.3 & Simple Front End & Spring
> To: [email protected]
> Date: Sunday, October 26, 2008, 11:20 PM
> My enum had a special construct XyzEnumType(String a); I
> think that messed up a few things for the enum valueOf(). I
> stripped the Enum to a regular/bare enum with no enum member
> variables and it worked.
>
> --- On Sun, 10/26/08, Coder One <[EMAIL PROTECTED]>
> wrote:
>
> > From: Coder One <[EMAIL PROTECTED]>
> > Subject: Re: CXF 2.1.3 & Simple Front End &
> Spring
> > To: [email protected]
> > Date: Sunday, October 26, 2008, 10:31 PM
> > Thanks!!!...it worked...some minor hickup though...
> >
> > If I stay with the default jaxb databinding, a simple
> call
> > ping(String msg) showed msg=null on the server side.
> >
> > If I use aegis, then ping works with the msg passed
> through
> > to the server, but then a problem on the enum popped
> up...
> >
> > <bean id="aegisDataBinding"
> >
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"/>
> >
> > <bean id="mgmtServiceClientFactory"
> >
> class="org.apache.cxf.frontend.ClientProxyFactoryBean">
> > <property name="serviceClass"
> > value="xyz.services.MgmtService"/>
> > <property name="address"
> >
> value="http://localhost:8084/xyz-services/mgmtService"/>
> > <property name="dataBinding"
> > ref="aegisDataBinding"/>
> > </bean>
> >
> > My enum class is sync'ed between the server and
> client,
> > so I have no idea why that would happen...any idea?
> >
> > Thanks again!!!
> >
> > java.lang.IllegalArgumentException: No enum const
> class
> > at
> >
> org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:49)
> > at
> >
> org.apache.cxf.aegis.databinding.XMLStreamDataReader.read(XMLStreamDataReader.java:34)
> > at
> >
> org.apache.cxf.interceptor.DocLiteralInInterceptor.getPara(DocLiteralInInterceptor.java:235)
> > at
> >
> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:120)
> >
> >
> >
> > --- On Sun, 10/26/08, Willem Jiang
> > <[EMAIL PROTECTED]> wrote:
> >
> > > From: Willem Jiang <[EMAIL PROTECTED]>
> > > Subject: Re: CXF 2.1.3 & Simple Front End
> &
> > Spring
> > > To: [email protected]
> > > Date: Sunday, October 26, 2008, 9:05 PM
> > > Oh, you are still using the jaxws front on the
> client
> > side.
> > >
> > > Please change the clientFactory's class to be
> > > org.apache.cxf.frontend.ClientProxyFactoryBean
> > >
> > > > ---Client Spring Context---
> > > > WSDL:
> > >
> http://localhost:8084/xyz-services/mgmtService?wsdl
> > > >
> > > > <bean id="mgmtService"
> > > >
> > class="xyz.services.MgmtService"
> > > >
> factory-bean="clientFactory"
> > > factory-method="create"/>
> > > >
> > > > <bean id="clientFactory"
> > >
> >
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> > >
> > > *** it should be
> > >
> >
> "org.apache.cxf.frontend.ClientProxyFactoryBean"
> > >
> > > > <property
> > name="serviceClass"
> > > value="xyz.services.MgmtService"/>
> > > > <property
> name="address"
> > >
> >
> value="http://localhost:8084/xyz-services/mgmtService"/>
> > > > </bean>
> > >
> > > Willem
> > >
> > > Coder One wrote:
> > > > javax.xml.ws.WebServiceException: Could not
> find
> > > wsdl:binding operation info for web method
> createRole.
> > > > at
> > >
> >
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:113)
> > > >
> > > >
> > > > I got the above exceptions trying to use
> simple
> > front
> > > end with Spring. With 2.1.1, I got the same
> problem,
> > but
> > > the line number was 150 instead of 113.
> > > >
> > > > I have included by server-side and
> client-side
> > Spring
> > > context files. Both projects (server/client)
> include
> > cxf as
> > > a separate maven project. Ie. I created a
> common-cxf
> > maven
> > > project that included all the regular CXF jars,
> then
> > my
> > > server/client maven projects declared a
> dependency on
> > > common-cxf.
> > > >
> > > > The WSDL comes up alright with ?wsdl, so I
> am at
> > a
> > > dead-end. I read some post about someone
> patching
> > 2.1.1 to
> > > fix this issue, but it seems to have not been
> fixed
> > ?!?
> > > >
> > > > Please help...appreciate all pointers!
> Thanks...
> > > >
> > > >
> > > > ---Server Spring Context---
> > > > WAR context: /xyz-services
> > > >
> > > > <import
> > >
> resource="classpath:META-INF/cxf/cxf.xml"
> > />
> > > > <import
> > >
> >
> resource="classpath:META-INF/cxf/cxf-extension-soap.xml"
> > > />
> > > > <import
> > >
> >
> resource="classpath:META-INF/cxf/cxf-servlet.xml"
> > > />
> > > >
> > > > <simple:server
> id="roleMgmtWS"
> > > >
> > > serviceClass="xyz.services.MgmtService"
> > > >
> > > address="/mgmtService">
> > > > <simple:serviceBean>
> > > > <bean
> > > class="xyz.serviceimpl.MgmtServiceImpl"
> > />
> > > > </simple:serviceBean>
> > > > <simple:dataBinding>
> > > > <bean
> > >
> >
> class="org.apache.cxf.aegis.databinding.AegisDatabinding"
> > > />
> > > > </simple:dataBinding>
> > > > </simple:server>
> > > >
> > > > ---Client Spring Context---
> > > > WSDL:
> > >
> http://localhost:8084/xyz-services/mgmtService?wsdl
> > > >
> > > > <bean id="mgmtService"
> > > >
> > class="xyz.services.MgmtService"
> > > >
> factory-bean="clientFactory"
> > > factory-method="create"/>
> > > >
> > > > <bean id="clientFactory"
> > >
> >
> class="org.apache.cxf.jaxws.JaxWsProxyFactoryBean">
> > > > <property
> > name="serviceClass"
> > > value="xyz.services.MgmtService"/>
> > > > <property
> name="address"
> > >
> >
> value="http://localhost:8084/xyz-services/mgmtService"/>
> > > > </bean>
> > > >
> > > >
> > > >
> > > >
> > > >