You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@cxf.apache.org by Alex O'Ree <sp...@gmail.com> on 2013/12/07 01:49:04 UTC

Invalid JSON Namespace

Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
an adapter for using jaxrs and jettison with 2.7.5.

When service the rest endpoint with XML using the jaxws objects, it
works just fine. However when serving JSON encoding data in response,
I get this.

Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
urn:uddi-org:api_v3
        at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
        at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
        at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
        at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)

Beans.xml config file

  <jaxrs:server id="inquiryRestService" address="/inquiryRest">
       <jaxrs:serviceBeans>
      <ref bean="inquiryRest" />
    </jaxrs:serviceBeans>
  </jaxrs:server>
  <bean id="inquiryRest"
class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
    </bean>
<bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
  <property name="ignoreNamespaces" value="true"/>
</bean>


this part works
@GET
    @Path("/XML/businessDetail/{id}")
    @Produces("application/xml")
    @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
of a business entity in XML")
    public org.uddi.api_v3.BusinessEntity
getBusinessDetailXML(@PathParam("id") String id) throws
WebApplicationException {
        return getBusinessDetail(id);
    }


this part does not
@GET
    @Path("/JSON/businessDetail/{id}")
    @Produces("application/json")
    @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
of a business entity in JSON")
    public org.uddi.api_v3.BusinessEntity
getBusinessDetailJSON(@PathParam("id") String id) throws
WebApplicationException {
        return getBusinessDetail(id);
    }

The complete code is over here:
http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/

>From googling, I've seen that adding the ignoreNamespaces=true should
fix this, but I'm not sure if I have it in the write place. The docs
don't have a clear example of this

Re: Invalid JSON Namespace

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi
On 08/12/13 18:45, Jose María Zaragoza wrote:
> I don't know if
>
> <property name="ignoreNamespaces" value="true"/>
>
> is enough for you ( it wasn't in my case )
>
what exactly did not work ? Oh I think I know, this property was not 
having an effect in case of the qualified attributes, as you reported in 
the other email ? I can get it fixed easily

By the way, setting JSONElement outDropElements is another option, one 
would set a  "{http://myns}*":"*" pair, though unless other 
transformations are needed using 'ignoreNamespaces' is simpler

Sergey
>
>
>
>
> 2013/12/8 Alex O'Ree <sp...@gmail.com>:
>> That did it! thanks for the help. Here's the relative parts of beans.xml
>>
>>
>>     <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>>                  <entry key="urn:uddi-org:api_v3" value="urn:uddi-org:api_v3"/>
>>    </util:map>
>>
>>
>>    <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>      <jaxrs:serviceBeans>
>>        <ref bean="inquiryRest" />
>>      </jaxrs:serviceBeans>
>> <jaxrs:providers>
>>                             <ref bean="jaxbProvider"/>
>>                             <ref bean="jsonProvider"/>
>>      </jaxrs:providers>
>>    </jaxrs:server>
>>    <bean id="inquiryRest"
>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
>> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>> <property name="ignoreNamespaces" value="true"/>
>> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>    </bean>
>>     <bean id="jaxbProvider"
>> class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>
>>
>> On Sun, Dec 8, 2013 at 4:10 AM, Jose María Zaragoza
>> <de...@gmail.com> wrote:
>>> Maybe you need to configure providers and declare them with <jaxrs:providers> .
>>> Something like :
>>>
>>>
>>> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>>>                  <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>>>   </util:map>
>>>
>>> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>> <property name="ignoreNamespaces" value="true"/>
>>> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>>   </bean>
>>>
>>> <bean id="jaxbProvider"
>>> class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>
>>>
>>>
>>> <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>      <jaxrs:serviceBeans>
>>>        <ref bean="inquiryRest" />
>>>      </jaxrs:serviceBeans>
>>>
>>> <jaxrs:providers>
>>>                             <ref bean="jaxbProvider"/>
>>>                             <ref bean="jsonProvider"/>
>>>      </jaxrs:providers>
>>>
>>>
>>>    </jaxrs:server>
>>>
>>> 2013/12/8 Alex O'Ree <sp...@gmail.com>:
>>>> Thanks for the reply. I've added the map, however i still get the same error
>>>>
>>>> WARNING: javax.ws.rs.InternalServerErrorException:
>>>> java.lang.IllegalStateException: Invalid JSON namespace: urn:uddi-org
>>>> :api_v3
>>>>          at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:377)
>>>>          at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1326)
>>>>          at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:282)
>>>>          at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:154)
>>>>          at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:85)
>>>>          at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>>>          at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
>>>>          at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>>>          at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>>>          at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>>>>          at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>>>>          at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>>>>          at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>>>>          at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
>>>>          at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
>>>>          at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
>>>>          at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>>          at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
>>>>          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>>          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>>          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>>          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>>          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
>>>>          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>>          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>>          at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
>>>>          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>>          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>>          at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
>>>>          at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>>>>          at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>>>>          at java.lang.Thread.run(Thread.java:744)
>>>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>>>> urn:uddi-org:api_v3
>>>>          at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>>>          at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>>>          at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>>>          at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>>>          at com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.beginStartTag(XmlOutputAbstractImpl.java:102)
>>>>          at com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl$Element.startElement(NamespaceContextImpl.java:496)
>>>>          at com.sun.xml.bind.v2.runtime.XMLSerializer.endNamespaceDecls(XMLSerializer.java:288)
>>>>          at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:590)
>>>>          at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:342)
>>>>          at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
>>>>          at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323)
>>>>          at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178)
>>>>          at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:479)
>>>>          at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:542)
>>>>          at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:369)
>>>>          ... 31 more
>>>>
>>>> and the relevant parts of beans.xml
>>>>
>>>>    <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>>>>                  <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>>>>    </util:map>
>>>>    <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>>      <jaxrs:serviceBeans>
>>>>        <ref bean="inquiryRest" />
>>>>      </jaxrs:serviceBeans>
>>>>    </jaxrs:server>
>>>>    <bean id="inquiryRest"
>>>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
>>>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>> <property name="ignoreNamespaces" value="true"/>
>>>> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>>>    </bean>
>>>>
>>>>
>>>> using this pom dependencies
>>>>
>>>>
>>>> <dependency>
>>>> <groupId>org.apache.cxf</groupId>
>>>> <artifactId>cxf-rt-rs-extension-providers</artifactId>
>>>> <version>2.7.5</version>
>>>> </dependency>
>>>> <dependency>
>>>> <groupId>org.codehaus.jettison</groupId>
>>>> <artifactId>jettison</artifactId>
>>>> <version>1.3.3</version>
>>>> </dependency>
>>>>
>>>> I'll try 1.3.4
>>>>
>>>>
>>>> On Sat, Dec 7, 2013 at 7:19 AM, Jose María Zaragoza
>>>> <de...@gmail.com> wrote:
>>>>> I had the same problem than you and ignoreNamespaces=true didn't work
>>>>> for me ( I'm using Apache CXF 2.7.3 and Jettison 1.3.4 )
>>>>> I don't know why.
>>>>> If you try it and it works for you, please notify to me.
>>>>>
>>>>>
>>>>> To solved that, I had to map my namespace to empty string ( "") **
>>>>> only for JSON messages**, not for XML messages:
>>>>>
>>>>>
>>>>> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
>>>>>                  <entry key="http://domain.com/ws/type" value=""/>
>>>>> </util:map>
>>>>>
>>>>>
>>>>>   <bean id="jsonProvider"
>>>>> class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>>>               <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>>>> </bean>
>>>>>
>>>>>
>>>>> Regards
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> 2013/12/7 Alex O'Ree <sp...@gmail.com>:
>>>>>> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
>>>>>> an adapter for using jaxrs and jettison with 2.7.5.
>>>>>>
>>>>>> When service the rest endpoint with XML using the jaxws objects, it
>>>>>> works just fine. However when serving JSON encoding data in response,
>>>>>> I get this.
>>>>>>
>>>>>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>>>>>> urn:uddi-org:api_v3
>>>>>>          at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>>>>>          at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>>>>>          at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>>>>>          at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>>>>>
>>>>>> Beans.xml config file
>>>>>>
>>>>>>    <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>>>>         <jaxrs:serviceBeans>
>>>>>>        <ref bean="inquiryRest" />
>>>>>>      </jaxrs:serviceBeans>
>>>>>>    </jaxrs:server>
>>>>>>    <bean id="inquiryRest"
>>>>>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>>>>>>      </bean>
>>>>>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>>>>    <property name="ignoreNamespaces" value="true"/>
>>>>>> </bean>
>>>>>>
>>>>>>
>>>>>> this part works
>>>>>> @GET
>>>>>>      @Path("/XML/businessDetail/{id}")
>>>>>>      @Produces("application/xml")
>>>>>>      @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>>>>> of a business entity in XML")
>>>>>>      public org.uddi.api_v3.BusinessEntity
>>>>>> getBusinessDetailXML(@PathParam("id") String id) throws
>>>>>> WebApplicationException {
>>>>>>          return getBusinessDetail(id);
>>>>>>      }
>>>>>>
>>>>>>
>>>>>> this part does not
>>>>>> @GET
>>>>>>      @Path("/JSON/businessDetail/{id}")
>>>>>>      @Produces("application/json")
>>>>>>      @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>>>>> of a business entity in JSON")
>>>>>>      public org.uddi.api_v3.BusinessEntity
>>>>>> getBusinessDetailJSON(@PathParam("id") String id) throws
>>>>>> WebApplicationException {
>>>>>>          return getBusinessDetail(id);
>>>>>>      }
>>>>>>
>>>>>> The complete code is over here:
>>>>>> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>>>>>>
>>>>>>  From googling, I've seen that adding the ignoreNamespaces=true should
>>>>>> fix this, but I'm not sure if I have it in the write place. The docs
>>>>>> don't have a clear example of this


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com

Re: Invalid JSON Namespace

Posted by Jose María Zaragoza <de...@gmail.com>.
I don't know if

<property name="ignoreNamespaces" value="true"/>

is enough for you ( it wasn't in my case )





2013/12/8 Alex O'Ree <sp...@gmail.com>:
> That did it! thanks for the help. Here's the relative parts of beans.xml
>
>
>    <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>                 <entry key="urn:uddi-org:api_v3" value="urn:uddi-org:api_v3"/>
>   </util:map>
>
>
>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>     <jaxrs:serviceBeans>
>       <ref bean="inquiryRest" />
>     </jaxrs:serviceBeans>
> <jaxrs:providers>
>                            <ref bean="jaxbProvider"/>
>                            <ref bean="jsonProvider"/>
>     </jaxrs:providers>
>   </jaxrs:server>
>   <bean id="inquiryRest"
> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
> <property name="ignoreNamespaces" value="true"/>
> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>   </bean>
>    <bean id="jaxbProvider"
> class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>
>
> On Sun, Dec 8, 2013 at 4:10 AM, Jose María Zaragoza
> <de...@gmail.com> wrote:
>> Maybe you need to configure providers and declare them with <jaxrs:providers> .
>> Something like :
>>
>>
>> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>>                 <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>>  </util:map>
>>
>> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>> <property name="ignoreNamespaces" value="true"/>
>> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>  </bean>
>>
>> <bean id="jaxbProvider"
>> class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>
>>
>>
>> <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>     <jaxrs:serviceBeans>
>>       <ref bean="inquiryRest" />
>>     </jaxrs:serviceBeans>
>>
>> <jaxrs:providers>
>>                            <ref bean="jaxbProvider"/>
>>                            <ref bean="jsonProvider"/>
>>     </jaxrs:providers>
>>
>>
>>   </jaxrs:server>
>>
>> 2013/12/8 Alex O'Ree <sp...@gmail.com>:
>>> Thanks for the reply. I've added the map, however i still get the same error
>>>
>>> WARNING: javax.ws.rs.InternalServerErrorException:
>>> java.lang.IllegalStateException: Invalid JSON namespace: urn:uddi-org
>>> :api_v3
>>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:377)
>>>         at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1326)
>>>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:282)
>>>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:154)
>>>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:85)
>>>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>>         at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
>>>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>>         at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>>>         at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>>>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>>>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>>>         at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
>>>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
>>>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
>>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
>>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
>>>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
>>>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
>>>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>>>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>>>         at java.lang.Thread.run(Thread.java:744)
>>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>>> urn:uddi-org:api_v3
>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>>         at com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.beginStartTag(XmlOutputAbstractImpl.java:102)
>>>         at com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl$Element.startElement(NamespaceContextImpl.java:496)
>>>         at com.sun.xml.bind.v2.runtime.XMLSerializer.endNamespaceDecls(XMLSerializer.java:288)
>>>         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:590)
>>>         at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:342)
>>>         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
>>>         at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323)
>>>         at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178)
>>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:479)
>>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:542)
>>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:369)
>>>         ... 31 more
>>>
>>> and the relevant parts of beans.xml
>>>
>>>   <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>>>                 <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>>>   </util:map>
>>>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>     <jaxrs:serviceBeans>
>>>       <ref bean="inquiryRest" />
>>>     </jaxrs:serviceBeans>
>>>   </jaxrs:server>
>>>   <bean id="inquiryRest"
>>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
>>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>> <property name="ignoreNamespaces" value="true"/>
>>> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>>   </bean>
>>>
>>>
>>> using this pom dependencies
>>>
>>>
>>> <dependency>
>>> <groupId>org.apache.cxf</groupId>
>>> <artifactId>cxf-rt-rs-extension-providers</artifactId>
>>> <version>2.7.5</version>
>>> </dependency>
>>> <dependency>
>>> <groupId>org.codehaus.jettison</groupId>
>>> <artifactId>jettison</artifactId>
>>> <version>1.3.3</version>
>>> </dependency>
>>>
>>> I'll try 1.3.4
>>>
>>>
>>> On Sat, Dec 7, 2013 at 7:19 AM, Jose María Zaragoza
>>> <de...@gmail.com> wrote:
>>>> I had the same problem than you and ignoreNamespaces=true didn't work
>>>> for me ( I'm using Apache CXF 2.7.3 and Jettison 1.3.4 )
>>>> I don't know why.
>>>> If you try it and it works for you, please notify to me.
>>>>
>>>>
>>>> To solved that, I had to map my namespace to empty string ( "") **
>>>> only for JSON messages**, not for XML messages:
>>>>
>>>>
>>>> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
>>>>                 <entry key="http://domain.com/ws/type" value=""/>
>>>> </util:map>
>>>>
>>>>
>>>>  <bean id="jsonProvider"
>>>> class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>>              <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>>> </bean>
>>>>
>>>>
>>>> Regards
>>>>
>>>>
>>>>
>>>>
>>>> 2013/12/7 Alex O'Ree <sp...@gmail.com>:
>>>>> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
>>>>> an adapter for using jaxrs and jettison with 2.7.5.
>>>>>
>>>>> When service the rest endpoint with XML using the jaxws objects, it
>>>>> works just fine. However when serving JSON encoding data in response,
>>>>> I get this.
>>>>>
>>>>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>>>>> urn:uddi-org:api_v3
>>>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>>>>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>>>>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>>>>
>>>>> Beans.xml config file
>>>>>
>>>>>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>>>        <jaxrs:serviceBeans>
>>>>>       <ref bean="inquiryRest" />
>>>>>     </jaxrs:serviceBeans>
>>>>>   </jaxrs:server>
>>>>>   <bean id="inquiryRest"
>>>>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>>>>>     </bean>
>>>>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>>>   <property name="ignoreNamespaces" value="true"/>
>>>>> </bean>
>>>>>
>>>>>
>>>>> this part works
>>>>> @GET
>>>>>     @Path("/XML/businessDetail/{id}")
>>>>>     @Produces("application/xml")
>>>>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>>>> of a business entity in XML")
>>>>>     public org.uddi.api_v3.BusinessEntity
>>>>> getBusinessDetailXML(@PathParam("id") String id) throws
>>>>> WebApplicationException {
>>>>>         return getBusinessDetail(id);
>>>>>     }
>>>>>
>>>>>
>>>>> this part does not
>>>>> @GET
>>>>>     @Path("/JSON/businessDetail/{id}")
>>>>>     @Produces("application/json")
>>>>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>>>> of a business entity in JSON")
>>>>>     public org.uddi.api_v3.BusinessEntity
>>>>> getBusinessDetailJSON(@PathParam("id") String id) throws
>>>>> WebApplicationException {
>>>>>         return getBusinessDetail(id);
>>>>>     }
>>>>>
>>>>> The complete code is over here:
>>>>> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>>>>>
>>>>> From googling, I've seen that adding the ignoreNamespaces=true should
>>>>> fix this, but I'm not sure if I have it in the write place. The docs
>>>>> don't have a clear example of this

Re: Invalid JSON Namespace

Posted by Alex O'Ree <sp...@gmail.com>.
That did it! thanks for the help. Here's the relative parts of beans.xml


   <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
                <entry key="urn:uddi-org:api_v3" value="urn:uddi-org:api_v3"/>
  </util:map>


  <jaxrs:server id="inquiryRestService" address="/inquiryRest">
    <jaxrs:serviceBeans>
      <ref bean="inquiryRest" />
    </jaxrs:serviceBeans>
<jaxrs:providers>
                           <ref bean="jaxbProvider"/>
                           <ref bean="jsonProvider"/>
    </jaxrs:providers>
  </jaxrs:server>
  <bean id="inquiryRest"
class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="ignoreNamespaces" value="true"/>
<property name="namespaceMap" ref="jsonNamespaceMap"/>
  </bean>
   <bean id="jaxbProvider"
class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>

On Sun, Dec 8, 2013 at 4:10 AM, Jose María Zaragoza
<de...@gmail.com> wrote:
> Maybe you need to configure providers and declare them with <jaxrs:providers> .
> Something like :
>
>
> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>                 <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>  </util:map>
>
> <bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
> <property name="ignoreNamespaces" value="true"/>
> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>  </bean>
>
> <bean id="jaxbProvider"
> class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>
>
>
> <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>     <jaxrs:serviceBeans>
>       <ref bean="inquiryRest" />
>     </jaxrs:serviceBeans>
>
> <jaxrs:providers>
>                            <ref bean="jaxbProvider"/>
>                            <ref bean="jsonProvider"/>
>     </jaxrs:providers>
>
>
>   </jaxrs:server>
>
> 2013/12/8 Alex O'Ree <sp...@gmail.com>:
>> Thanks for the reply. I've added the map, however i still get the same error
>>
>> WARNING: javax.ws.rs.InternalServerErrorException:
>> java.lang.IllegalStateException: Invalid JSON namespace: urn:uddi-org
>> :api_v3
>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:377)
>>         at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1326)
>>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:282)
>>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:154)
>>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:85)
>>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>         at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
>>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>>         at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>>         at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>>         at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
>>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
>>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
>>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
>>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
>>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>>         at java.lang.Thread.run(Thread.java:744)
>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>> urn:uddi-org:api_v3
>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>         at com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.beginStartTag(XmlOutputAbstractImpl.java:102)
>>         at com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl$Element.startElement(NamespaceContextImpl.java:496)
>>         at com.sun.xml.bind.v2.runtime.XMLSerializer.endNamespaceDecls(XMLSerializer.java:288)
>>         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:590)
>>         at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:342)
>>         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
>>         at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323)
>>         at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178)
>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:479)
>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:542)
>>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:369)
>>         ... 31 more
>>
>> and the relevant parts of beans.xml
>>
>>   <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>>                 <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>>   </util:map>
>>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>     <jaxrs:serviceBeans>
>>       <ref bean="inquiryRest" />
>>     </jaxrs:serviceBeans>
>>   </jaxrs:server>
>>   <bean id="inquiryRest"
>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>> <property name="ignoreNamespaces" value="true"/>
>> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>   </bean>
>>
>>
>> using this pom dependencies
>>
>>
>> <dependency>
>> <groupId>org.apache.cxf</groupId>
>> <artifactId>cxf-rt-rs-extension-providers</artifactId>
>> <version>2.7.5</version>
>> </dependency>
>> <dependency>
>> <groupId>org.codehaus.jettison</groupId>
>> <artifactId>jettison</artifactId>
>> <version>1.3.3</version>
>> </dependency>
>>
>> I'll try 1.3.4
>>
>>
>> On Sat, Dec 7, 2013 at 7:19 AM, Jose María Zaragoza
>> <de...@gmail.com> wrote:
>>> I had the same problem than you and ignoreNamespaces=true didn't work
>>> for me ( I'm using Apache CXF 2.7.3 and Jettison 1.3.4 )
>>> I don't know why.
>>> If you try it and it works for you, please notify to me.
>>>
>>>
>>> To solved that, I had to map my namespace to empty string ( "") **
>>> only for JSON messages**, not for XML messages:
>>>
>>>
>>> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
>>>                 <entry key="http://domain.com/ws/type" value=""/>
>>> </util:map>
>>>
>>>
>>>  <bean id="jsonProvider"
>>> class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>              <property name="namespaceMap" ref="jsonNamespaceMap"/>
>>> </bean>
>>>
>>>
>>> Regards
>>>
>>>
>>>
>>>
>>> 2013/12/7 Alex O'Ree <sp...@gmail.com>:
>>>> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
>>>> an adapter for using jaxrs and jettison with 2.7.5.
>>>>
>>>> When service the rest endpoint with XML using the jaxws objects, it
>>>> works just fine. However when serving JSON encoding data in response,
>>>> I get this.
>>>>
>>>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>>>> urn:uddi-org:api_v3
>>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>>>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>>>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>>>
>>>> Beans.xml config file
>>>>
>>>>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>>        <jaxrs:serviceBeans>
>>>>       <ref bean="inquiryRest" />
>>>>     </jaxrs:serviceBeans>
>>>>   </jaxrs:server>
>>>>   <bean id="inquiryRest"
>>>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>>>>     </bean>
>>>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>>   <property name="ignoreNamespaces" value="true"/>
>>>> </bean>
>>>>
>>>>
>>>> this part works
>>>> @GET
>>>>     @Path("/XML/businessDetail/{id}")
>>>>     @Produces("application/xml")
>>>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>>> of a business entity in XML")
>>>>     public org.uddi.api_v3.BusinessEntity
>>>> getBusinessDetailXML(@PathParam("id") String id) throws
>>>> WebApplicationException {
>>>>         return getBusinessDetail(id);
>>>>     }
>>>>
>>>>
>>>> this part does not
>>>> @GET
>>>>     @Path("/JSON/businessDetail/{id}")
>>>>     @Produces("application/json")
>>>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>>> of a business entity in JSON")
>>>>     public org.uddi.api_v3.BusinessEntity
>>>> getBusinessDetailJSON(@PathParam("id") String id) throws
>>>> WebApplicationException {
>>>>         return getBusinessDetail(id);
>>>>     }
>>>>
>>>> The complete code is over here:
>>>> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>>>>
>>>> From googling, I've seen that adding the ignoreNamespaces=true should
>>>> fix this, but I'm not sure if I have it in the write place. The docs
>>>> don't have a clear example of this

Re: Invalid JSON Namespace

Posted by Jose María Zaragoza <de...@gmail.com>.
Maybe you need to configure providers and declare them with <jaxrs:providers> .
Something like :


<util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
                <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
 </util:map>

<bean id="jsonProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="ignoreNamespaces" value="true"/>
<property name="namespaceMap" ref="jsonNamespaceMap"/>
 </bean>

<bean id="jaxbProvider"
class="org.apache.cxf.jaxrs.provider.JAXBElementProvider"/>


<jaxrs:server id="inquiryRestService" address="/inquiryRest">
    <jaxrs:serviceBeans>
      <ref bean="inquiryRest" />
    </jaxrs:serviceBeans>

<jaxrs:providers>
                           <ref bean="jaxbProvider"/>
                           <ref bean="jsonProvider"/>
    </jaxrs:providers>


  </jaxrs:server>

2013/12/8 Alex O'Ree <sp...@gmail.com>:
> Thanks for the reply. I've added the map, however i still get the same error
>
> WARNING: javax.ws.rs.InternalServerErrorException:
> java.lang.IllegalStateException: Invalid JSON namespace: urn:uddi-org
> :api_v3
>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:377)
>         at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1326)
>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:282)
>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:154)
>         at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:85)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>         at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
>         at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
>         at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
>         at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
>         at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
>         at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
>         at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>         at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>         at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
>         at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>         at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>         at java.lang.Thread.run(Thread.java:744)
> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
> urn:uddi-org:api_v3
>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>         at com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.beginStartTag(XmlOutputAbstractImpl.java:102)
>         at com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl$Element.startElement(NamespaceContextImpl.java:496)
>         at com.sun.xml.bind.v2.runtime.XMLSerializer.endNamespaceDecls(XMLSerializer.java:288)
>         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:590)
>         at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:342)
>         at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
>         at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323)
>         at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178)
>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:479)
>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:542)
>         at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:369)
>         ... 31 more
>
> and the relevant parts of beans.xml
>
>   <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
>                 <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
>   </util:map>
>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>     <jaxrs:serviceBeans>
>       <ref bean="inquiryRest" />
>     </jaxrs:serviceBeans>
>   </jaxrs:server>
>   <bean id="inquiryRest"
> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
> <property name="ignoreNamespaces" value="true"/>
> <property name="namespaceMap" ref="jsonNamespaceMap"/>
>   </bean>
>
>
> using this pom dependencies
>
>
> <dependency>
> <groupId>org.apache.cxf</groupId>
> <artifactId>cxf-rt-rs-extension-providers</artifactId>
> <version>2.7.5</version>
> </dependency>
> <dependency>
> <groupId>org.codehaus.jettison</groupId>
> <artifactId>jettison</artifactId>
> <version>1.3.3</version>
> </dependency>
>
> I'll try 1.3.4
>
>
> On Sat, Dec 7, 2013 at 7:19 AM, Jose María Zaragoza
> <de...@gmail.com> wrote:
>> I had the same problem than you and ignoreNamespaces=true didn't work
>> for me ( I'm using Apache CXF 2.7.3 and Jettison 1.3.4 )
>> I don't know why.
>> If you try it and it works for you, please notify to me.
>>
>>
>> To solved that, I had to map my namespace to empty string ( "") **
>> only for JSON messages**, not for XML messages:
>>
>>
>> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
>>                 <entry key="http://domain.com/ws/type" value=""/>
>> </util:map>
>>
>>
>>  <bean id="jsonProvider"
>> class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>              <property name="namespaceMap" ref="jsonNamespaceMap"/>
>> </bean>
>>
>>
>> Regards
>>
>>
>>
>>
>> 2013/12/7 Alex O'Ree <sp...@gmail.com>:
>>> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
>>> an adapter for using jaxrs and jettison with 2.7.5.
>>>
>>> When service the rest endpoint with XML using the jaxws objects, it
>>> works just fine. However when serving JSON encoding data in response,
>>> I get this.
>>>
>>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>>> urn:uddi-org:api_v3
>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>>
>>> Beans.xml config file
>>>
>>>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>>        <jaxrs:serviceBeans>
>>>       <ref bean="inquiryRest" />
>>>     </jaxrs:serviceBeans>
>>>   </jaxrs:server>
>>>   <bean id="inquiryRest"
>>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>>>     </bean>
>>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>>   <property name="ignoreNamespaces" value="true"/>
>>> </bean>
>>>
>>>
>>> this part works
>>> @GET
>>>     @Path("/XML/businessDetail/{id}")
>>>     @Produces("application/xml")
>>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>> of a business entity in XML")
>>>     public org.uddi.api_v3.BusinessEntity
>>> getBusinessDetailXML(@PathParam("id") String id) throws
>>> WebApplicationException {
>>>         return getBusinessDetail(id);
>>>     }
>>>
>>>
>>> this part does not
>>> @GET
>>>     @Path("/JSON/businessDetail/{id}")
>>>     @Produces("application/json")
>>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>>> of a business entity in JSON")
>>>     public org.uddi.api_v3.BusinessEntity
>>> getBusinessDetailJSON(@PathParam("id") String id) throws
>>> WebApplicationException {
>>>         return getBusinessDetail(id);
>>>     }
>>>
>>> The complete code is over here:
>>> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>>>
>>> From googling, I've seen that adding the ignoreNamespaces=true should
>>> fix this, but I'm not sure if I have it in the write place. The docs
>>> don't have a clear example of this

Re: Invalid JSON Namespace

Posted by Alex O'Ree <sp...@gmail.com>.
Thanks for the reply. I've added the map, however i still get the same error

WARNING: javax.ws.rs.InternalServerErrorException:
java.lang.IllegalStateException: Invalid JSON namespace: urn:uddi-org
:api_v3
        at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:377)
        at org.apache.cxf.jaxrs.utils.JAXRSUtils.writeMessageBody(JAXRSUtils.java:1326)
        at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.serializeMessage(JAXRSOutInterceptor.java:282)
        at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.processResponse(JAXRSOutInterceptor.java:154)
        at org.apache.cxf.jaxrs.interceptor.JAXRSOutInterceptor.handleMessage(JAXRSOutInterceptor.java:85)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
        at org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:77)
        at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:271)
        at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
        at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:239)
        at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:203)
        at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:137)
        at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:158)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:243)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doGet(AbstractHTTPServlet.java:168)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
        at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:219)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:465)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:744)
Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
urn:uddi-org:api_v3
        at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
        at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
        at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
        at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
        at com.sun.xml.bind.v2.runtime.output.XmlOutputAbstractImpl.beginStartTag(XmlOutputAbstractImpl.java:102)
        at com.sun.xml.bind.v2.runtime.output.NamespaceContextImpl$Element.startElement(NamespaceContextImpl.java:496)
        at com.sun.xml.bind.v2.runtime.XMLSerializer.endNamespaceDecls(XMLSerializer.java:288)
        at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsSoleContent(XMLSerializer.java:590)
        at com.sun.xml.bind.v2.runtime.ClassBeanInfoImpl.serializeRoot(ClassBeanInfoImpl.java:342)
        at com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:494)
        at com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:323)
        at com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:178)
        at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:479)
        at org.apache.cxf.jaxrs.provider.json.JSONProvider.marshal(JSONProvider.java:542)
        at org.apache.cxf.jaxrs.provider.json.JSONProvider.writeTo(JSONProvider.java:369)
        ... 31 more

and the relevant parts of beans.xml

  <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable" >
                <entry key="urn:uddi-org:api_v3" value="uddiv3"/>
  </util:map>
  <jaxrs:server id="inquiryRestService" address="/inquiryRest">
    <jaxrs:serviceBeans>
      <ref bean="inquiryRest" />
    </jaxrs:serviceBeans>
  </jaxrs:server>
  <bean id="inquiryRest"
class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" />
<bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
<property name="ignoreNamespaces" value="true"/>
<property name="namespaceMap" ref="jsonNamespaceMap"/>
  </bean>


using this pom dependencies


<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-rs-extension-providers</artifactId>
<version>2.7.5</version>
</dependency>
<dependency>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
<version>1.3.3</version>
</dependency>

I'll try 1.3.4


On Sat, Dec 7, 2013 at 7:19 AM, Jose María Zaragoza
<de...@gmail.com> wrote:
> I had the same problem than you and ignoreNamespaces=true didn't work
> for me ( I'm using Apache CXF 2.7.3 and Jettison 1.3.4 )
> I don't know why.
> If you try it and it works for you, please notify to me.
>
>
> To solved that, I had to map my namespace to empty string ( "") **
> only for JSON messages**, not for XML messages:
>
>
> <util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
>                 <entry key="http://domain.com/ws/type" value=""/>
> </util:map>
>
>
>  <bean id="jsonProvider"
> class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>              <property name="namespaceMap" ref="jsonNamespaceMap"/>
> </bean>
>
>
> Regards
>
>
>
>
> 2013/12/7 Alex O'Ree <sp...@gmail.com>:
>> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
>> an adapter for using jaxrs and jettison with 2.7.5.
>>
>> When service the rest endpoint with XML using the jaxws objects, it
>> works just fine. However when serving JSON encoding data in response,
>> I get this.
>>
>> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
>> urn:uddi-org:api_v3
>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>>
>> Beans.xml config file
>>
>>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>>        <jaxrs:serviceBeans>
>>       <ref bean="inquiryRest" />
>>     </jaxrs:serviceBeans>
>>   </jaxrs:server>
>>   <bean id="inquiryRest"
>> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>>     </bean>
>> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>>   <property name="ignoreNamespaces" value="true"/>
>> </bean>
>>
>>
>> this part works
>> @GET
>>     @Path("/XML/businessDetail/{id}")
>>     @Produces("application/xml")
>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>> of a business entity in XML")
>>     public org.uddi.api_v3.BusinessEntity
>> getBusinessDetailXML(@PathParam("id") String id) throws
>> WebApplicationException {
>>         return getBusinessDetail(id);
>>     }
>>
>>
>> this part does not
>> @GET
>>     @Path("/JSON/businessDetail/{id}")
>>     @Produces("application/json")
>>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
>> of a business entity in JSON")
>>     public org.uddi.api_v3.BusinessEntity
>> getBusinessDetailJSON(@PathParam("id") String id) throws
>> WebApplicationException {
>>         return getBusinessDetail(id);
>>     }
>>
>> The complete code is over here:
>> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>>
>> From googling, I've seen that adding the ignoreNamespaces=true should
>> fix this, but I'm not sure if I have it in the write place. The docs
>> don't have a clear example of this

Re: Invalid JSON Namespace

Posted by Jose María Zaragoza <de...@gmail.com>.
I had the same problem than you and ignoreNamespaces=true didn't work
for me ( I'm using Apache CXF 2.7.3 and Jettison 1.3.4 )
I don't know why.
If you try it and it works for you, please notify to me.


To solved that, I had to map my namespace to empty string ( "") **
only for JSON messages**, not for XML messages:


<util:map id="jsonNamespaceMap" map-class="java.util.Hashtable">
                <entry key="http://domain.com/ws/type" value=""/>
</util:map>


 <bean id="jsonProvider"
class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
             <property name="namespaceMap" ref="jsonNamespaceMap"/>
</bean>


Regards




2013/12/7 Alex O'Ree <sp...@gmail.com>:
> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
> an adapter for using jaxrs and jettison with 2.7.5.
>
> When service the rest endpoint with XML using the jaxws objects, it
> works just fine. However when serving JSON encoding data in response,
> I get this.
>
> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
> urn:uddi-org:api_v3
>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>         at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>         at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>         at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>
> Beans.xml config file
>
>   <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>        <jaxrs:serviceBeans>
>       <ref bean="inquiryRest" />
>     </jaxrs:serviceBeans>
>   </jaxrs:server>
>   <bean id="inquiryRest"
> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>     </bean>
> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>   <property name="ignoreNamespaces" value="true"/>
> </bean>
>
>
> this part works
> @GET
>     @Path("/XML/businessDetail/{id}")
>     @Produces("application/xml")
>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
> of a business entity in XML")
>     public org.uddi.api_v3.BusinessEntity
> getBusinessDetailXML(@PathParam("id") String id) throws
> WebApplicationException {
>         return getBusinessDetail(id);
>     }
>
>
> this part does not
> @GET
>     @Path("/JSON/businessDetail/{id}")
>     @Produces("application/json")
>     @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
> of a business entity in JSON")
>     public org.uddi.api_v3.BusinessEntity
> getBusinessDetailJSON(@PathParam("id") String id) throws
> WebApplicationException {
>         return getBusinessDetail(id);
>     }
>
> The complete code is over here:
> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>
> From googling, I've seen that adding the ignoreNamespaces=true should
> fix this, but I'm not sure if I have it in the write place. The docs
> don't have a clear example of this

Re: Invalid JSON Namespace

Posted by Sergey Beryozkin <sb...@gmail.com>.
Hi

In this case the provider is not registered directly with the endpoint, 
so it does not work, I've just tested it, I thought may be 
"urn:uddi-org:api_v3" was confusing JAXB, but no, works OK

Thanks, Sergey
On 07/12/13 00:49, Alex O'Ree wrote:
> Hi I have a JAXB annotated (wsimport) jaxws service that i'm writing
> an adapter for using jaxrs and jettison with 2.7.5.
>
> When service the rest endpoint with XML using the jaxws objects, it
> works just fine. However when serving JSON encoding data in response,
> I get this.
>
> Caused by: java.lang.IllegalStateException: Invalid JSON namespace:
> urn:uddi-org:api_v3
>          at org.codehaus.jettison.mapped.MappedNamespaceConvention.getJSONNamespace(MappedNamespaceConvention.java:252)
>          at org.codehaus.jettison.mapped.MappedNamespaceConvention.createKey(MappedNamespaceConvention.java:260)
>          at org.codehaus.jettison.mapped.MappedXMLStreamWriter.writeStartElement(MappedXMLStreamWriter.java:220)
>          at com.sun.xml.bind.v2.runtime.output.XMLStreamWriterOutput.beginStartTag(XMLStreamWriterOutput.java:118)
>
> Beans.xml config file
>
>    <jaxrs:server id="inquiryRestService" address="/inquiryRest">
>         <jaxrs:serviceBeans>
>        <ref bean="inquiryRest" />
>      </jaxrs:serviceBeans>
>    </jaxrs:server>
>    <bean id="inquiryRest"
> class="org.apache.juddi.api.impl.rest.UDDIInquiryJAXRS" >
>      </bean>
> <bean id="jaxbProvider" class="org.apache.cxf.jaxrs.provider.json.JSONProvider">
>    <property name="ignoreNamespaces" value="true"/>
> </bean>
>
>
> this part works
> @GET
>      @Path("/XML/businessDetail/{id}")
>      @Produces("application/xml")
>      @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
> of a business entity in XML")
>      public org.uddi.api_v3.BusinessEntity
> getBusinessDetailXML(@PathParam("id") String id) throws
> WebApplicationException {
>          return getBusinessDetail(id);
>      }
>
>
> this part does not
> @GET
>      @Path("/JSON/businessDetail/{id}")
>      @Produces("application/json")
>      @org.apache.cxf.jaxrs.model.wadl.Description("Returns the details
> of a business entity in JSON")
>      public org.uddi.api_v3.BusinessEntity
> getBusinessDetailJSON(@PathParam("id") String id) throws
> WebApplicationException {
>          return getBusinessDetail(id);
>      }
>
> The complete code is over here:
> http://svn.apache.org/repos/asf/juddi/trunk/juddi-rest-cxf/
>
>  From googling, I've seen that adding the ignoreNamespaces=true should
> fix this, but I'm not sure if I have it in the write place. The docs
> don't have a clear example of this
>


-- 
Sergey Beryozkin

Talend Community Coders
http://coders.talend.com/

Blog: http://sberyozkin.blogspot.com