and what caracters are forbidden ? how I fix that ? something like this:
System.Text.Encoding.UTF8.GetString(value); ? thanks! 2011/10/22 Benson Margulies <[email protected]>: > This happens when you have an xs:string element in your service and > you try to pass a value that contains a character forbidden in XML > 1.0. Yes, there are Unicode characters forbidden in XML 1.0, such as > the form feed (or, in your case, SUBSTITUTE). If you must send > characters outside of XML 1.0, you have to use some other XML schema > type other than string, or move the data to an attachment. > > On Sat, Oct 22, 2011 at 3:18 PM, jp_listero <[email protected]> wrote: >> hi, >> >> I implemented a client with CXF and I have some times exceptions like this >> >> [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[16,27] >> Message: An invalid XML character (Unicode: 0x1a) was found in the >> element content of the document.] >> at >> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:426) >> at >> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:362) >> at >> com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:339) >> at >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:610) >> at >> org.apache.cxf.jaxb.JAXBEncoderDecoder.unmarshall(JAXBEncoderDecoder.java:530) >> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:114) >> at >> org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:188) >> at >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) >> at org.apache.cxf.endpoint.ClientImpl.onMessage(ClientImpl.java:658) >> at >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponseInternal(HTTPConduit.java:2139) >> at >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.handleResponse(HTTPConduit.java:2022) >> at >> org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream.close(HTTPConduit.java:1947) >> at >> org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:66) >> at >> org.apache.cxf.transport.http.HTTPConduit.close(HTTPConduit.java:632) >> at >> org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62) >> at >> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236) >> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:472) >> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:302) >> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:254) >> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73) >> at >> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:123) >> ... 8 more >> >> >> this is my source code: >> >> private void initWs1Config(){ >> JaxWsProxyFactoryBean factoryBean = new >> JaxWsProxyFactoryBean(); >> factoryBean.setServiceClass(WspresC4SoapPort.class); >> factoryBean.setAddress("http://"+getIpPort()+getUrlC4()); >> >> String endpointURL= "http://"+getIpPort()+getUrlC4(); >> port = (WspresC4SoapPort)factoryBean.create(); >> BindingProvider bp = (BindingProvider)port; >> >> bp.getRequestContext().put(BindingProvider.ENDPOINT_ADDRESS_PROPERTY, >> endpointURL); >> >> Client client = ClientProxy.getClient(port); >> HTTPConduit http = (HTTPConduit) client.getConduit(); >> HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy(); >> httpClientPolicy.setConnectionTimeout(36000); >> httpClientPolicy.setAllowChunking(false); >> http.setClient(httpClientPolicy); >> >> AuthorizationPolicy authorization = new AuthorizationPolicy(); >> >> authorization.setUserName(getUser()); >> authorization.setPassword(getPassword()); >> http.setAuthorization(authorization); >> } >> >> maybe is something in the server side ? >> thanks ! >> >
