Я разработал веб-сервис и развернул его с помощью Axis.
Все работает очень хорошо, но у меня есть проблема, когда я использую сервис, используя строку, содержащую непечатаемый символ (например, ETX, FS, ..).
У меня следующая ошибка:
exception: java.lang.IllegalArgumentException: The char '0x1c' after '....' is not a valid XML character.
Есть идеи, пожалуйста?
редактировать:
Я должен отправить фрейм на свой сервер, используя веб-сервис. Моя рамка имеет строгую форму (содержит некоторые непечатаемые символы в качестве разделителя)
class Automate {void checkFrame(String frame){// checking the frame}}
файл wsdl
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:part element="impl:checkFrameResponse" name="parameters"/>
<wsdl:part element="impl:checkFrame" name="parameters"/>
<wsdl:operation name="checkFrame">
<wsdl:input message="impl:checkFrameRequest" name="checkFrameRequest"/>
<wsdl:output message="impl:checkFrameResponse" name="checkFrameResponse"/>
</wsdl:operation>
<wsdlsoap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="checkFrame">
<wsdlsoap:operation soapAction=""/>
<wsdl:input name="checkFrameRequest">
<wsdlsoap:body use="literal"/>
</wsdl:input>
<wsdl:output name="checkFrameResponse">
<wsdlsoap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:port binding="impl:AutomateSoapBinding" name="Automate">
<wsdlsoap:address location="http://localhost:8080/Gateway/services/Automate"/>
</wsdl:port>