wcf - Java-WS XML serialization failed before JAXB unmarshaling occured -


in environment, have client (java 6) call wcf (.net 3.5) wcf service using jax-ws , basichttpbinding.

i have invalid xml characters return wcf service string values.

i added custom jaxb converter,

<jaxb:javatype name="java.lang.string"          xmltype="xs:string"         parsemethod="myclass.parsestringtosafexmlstring"          printmethod="myclassprintstringtosafexmlstring" /> 

myclass have methods

 public static string parsestringtosafexmlstring(string value) {       return stripnonvalidxmlcharacters(value);   }       public static string printstringtosafexmlstring(string value) {     return stripnonvalidxmlcharacters(value); } 

where stripnonvalidxmlcharacters - method remove invalid chars (does not meter how does).

but when receive string invalid xml chars, code failed exception before parsestringtosafexmlstring called (for valid strings, method called , stopped break point.

caused by: javax.xml.stream.xmlstreamexception: parseerror @ [row,col]:[1,834] message: character reference "&#x8" invalid xml character. @ com.sun.org.apache.xerces.internal.impl.xmlstreamreaderimpl.next(xmlstreamreaderimpl.java:594) ~[?:1.6.0_24] @ com.sun.xml.internal.ws.util.xml.xmlstreamreaderfilter.next(xmlstreamreaderfilter.java:81) ~[?:1.6.0_24] @ com.sun.xml.internal.bind.v2.runtime.unmarshaller.staxstreamconnector.bridge(staxstreamconnector.java:181) ~[?:1.6.0_24] @ com.sun.xml.internal.bind.v2.runtime.unmarshaller.unmarshallerimpl.unmarshal0(unmarshallerimpl.java:349) ~[?:1.6.0_24] @ com.sun.xml.internal.bind.v2.runtime.bridgeimpl.unmarshal(bridgeimpl.java:109) ~[?:1.6.0_24] @ com.sun.xml.internal.bind.api.bridge.unmarshal(bridge.java:222) ~[?:1.6.0_24] @ com.sun.xml.internal.ws.message.stream.streammessage.readpayloadasjaxb(streammessage.java:249) ~[?:1.6.0_24] @ com.sun.xml.internal.ws.client.sei.responsebuilder$body.readresponse(responsebuilder.java:458) ~[?:1.6.0_24] @ com.sun.xml.internal.ws.client.sei.syncmethodhandler.invoke(syncmethodhandler.java:110) ~[?:1.6.0_24]

so have 2 questions:

  1. how can fix it?
  2. may (and how) run stripnonvalidxmlcharacters or any_other_remove_invalid_chars method before failed (probably before xml serializer start works)?

thanks lot!!!


Comments

Popular posts from this blog

node.js - Bad Request - node js ajax post -

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -