Ok, a fix for this is committed to trunk. I'll get new snapshots deployed shortly.

Dan



On Jun 4, 2008, at 9:50 AM, Daniel Kulp wrote:



Just FYI: sending patches to the mailing lists is not a good way to send them. They tend to get lost. Plus, we're not allowed to apply them anyway. Patches must be submitted through a JIRA bug report and have the "Assign to Apache" check box checked so that we can legally include them. We don't know the "legal state" of any patches attached to email messages so we're not allowed to apply them.


Dan




On Jun 3, 2008, at 5:36 PM, Joel Turkel wrote:


Hi,

Are there any plans to commit this fix? I'm hitting the same issue and would
like to see the fix make it into the product...

Thanks,
Joel Turkel


larry ruiz wrote:

I ran into this problem also, but it seems that it doesn't work when you only are configuring an jaxws:endpoint and I guess that is the way of doing in a servlet container, just configuring the endpoint. I have the
following for example

<beans
  xmlns="http://www.springframework.org/schema/beans";
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
  xmlns:jaxws="http://cxf.apache.org/jaxws";
  xmlns:http="http://cxf.apache.org/transports/http/configuration";
  xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/ jaxws.xsd">
  <import resource="classpath:META-INF/cxf/cxf.xml" />
<import resource="classpath:META-INF/cxf/cxf-extension- http.xml" /> <import resource="classpath:META-INF/cxf/cxf-extension- soap.xml" />
  <import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

  <jaxws:endpoint
      id="myEndpoint"
      implementor="#myBeanImplementor"
      address="/myService">
      <jaxws:properties>
          <entry key="jaxb.additionalContextClasses">
<bean class="com.foo.JAXBAdditionalClassesFactoryBean"/>
          </entry>
      </jaxws:properties>
      <jaxws:features>
          <bean class="org.apache.cxf.feature.LoggingFeature"/>
      </jaxws:features>
  </jaxws:endpoint>
....
</beans>


and it seems that the class "org.apache.cxf.frontend.jaxws.EndpointImpl"
is not passing the properties map to the serverFactory.
so the workaround would be to pass the properties map(you can see it in
the attached patch, for trunk branch
http://www.nabble.com/file/p17151972/frontend.jaxws.EndpointImpl_jaxbAdditionalClasses.patch
frontend.jaxws.EndpointImpl_jaxbAdditionalClasses.patch ), I would
appreciate your comments, Is this workaround viable or is there a another
workaround?.


thanks
Larry Ruiz



dkulp wrote:


Hmm....

I'm not sure why that doesn't work. We have a system tests for this and
that seems to pass fine:
https://svn.apache.org/repos/asf/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/jaxb/
https://svn.apache.org/repos/asf/incubator/cxf/trunk/systests/src/test/resources/extrajaxbclass.xml

That said, you might want to try the latest SNAPSHOTS:
http://people.apache.org/repo/m2-snapshot-repository/org/apache/cxf/apache-cxf/2.1-incubator-SNAPSHOT/

I've spent quite a bit of time the last couple days trying to get the
JAXB databinding to detect a more complete list of classes before
creating the context. It should do a much better job of of finding the
MyObj object and may add it automatically.

We also now support the jaxb.index files. Thus, if another class in the package as MyObj IS detected, you can add the jaxb.index file (just one
line with "MyObj", no package name) to the package and it will load
them.

Dan



On Friday 27 July 2007 08:52, Julio Arias wrote:
Hi -

I have a @WebMethod with a signature like this LIst<MyObj> getSomthing () I'm using Doc/Lit Soap Binding, and MyObj is not been added to my
WSDL, I found issue CXF-340 that says how to add extra classes to
your JAXB context and i did someting like this (see code below) But it doesn't seem to work either, I debug the endpoint initialization
an the properties are null.

<jaxws:endpoint id="documentService" address="/DocumentService"
implementor="#documentServiceImpl">
                <jaxws:inInterceptors>
                        <ref bean="saajInInterceptor"/>
                        <ref bean="WSS4jInInterceptor"/>
                </jaxws:inInterceptors>
                <jaxws:properties>
                        <entry key="jaxb.additionalContextClasses">
                                <bean 
class="com.rbx.lor.ws.utils.ClassArrayFactoryBean">
                                        <property name="classNames">
                                                <list>
                                                        
<value>com.rbx.lor.ws.soap.model.UserVO</value>
                                                </list>
                                        </property>
                                </bean>
                        </entry>
                </jaxws:properties>
        </jaxws:endpoint>




Julio Arias
Java Developer
Roundbox Global : enterprise : technology : genius
---------------------------------------------------------------------
Avenida 11 y Calle 7-9, Barrio Amón, San Jose, Costa Rica
tel: 404.567.5000 ext. 2001 | cell: 11.506.849.5981
email: [EMAIL PROTECTED] | www.rbxglobal.com
---------------------------------------------------------------------

--
J. Daniel Kulp
Principal Engineer
IONA
P: 781-902-8727    C: 508-380-7194
[EMAIL PROTECTED]
http://www.dankulp.com/blog





--
View this message in context: 
http://www.nabble.com/Adding-extra-classes-to-the-JAXB-context-tp11828639p17634333.html
Sent from the cxf-user mailing list archive at Nabble.com.


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog





---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog




Reply via email to