질문 : 인코딩 (문자 세트 및 전송) 축을 어떻게 다른 방법으로 사용할 수 있습니까?AXIS2가 인코딩으로 인해 잘못된 SOAP 메시지를 생성합니다. 그것을 고치는 방법?
다음public Object[] invoke(String xmlRepresentation)
throws CustomApplicationException {
Object[] responseWS = null;
RPCServiceClient serviceClient = new RPCServiceClient();
Options options = serviceClient.getOptions();
options.setAction("WBSREFT");
options.setTo(new EndpointReference("http://localhost:6132"));
QName qName = new QName(XML_SCHEMA, operation);
Object[] args = new Object[] { "blablabla" };
responseWS = serviceClient.invokeBlocking(qName, args, returnTypes);
String responseAsString = (String) responseWS[0];
return responseWS;
}
의 SOAPEnvelope가 생성되고 (캡처 사용하여 TCP/IP 모니터) : 여기
내 클라이언트입니다<?xml version="1.0" encoding="http://schemas.xmlsoap.org/soap/envelope/"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<WBSREFT xmlns="http://tempuri.org/LICPOCSampleService">
<arg0 xmlns="">blablabla</arg0>
</WBSREFT>
</soapenv:Body>
</soapenv:Envelope>
가 왜 Axis2는이 바보 인코딩 (http://schemas.xmlsoap.org/soap/envelope)를 생성 ??? 나는이 이상한 출력을 발견했습니다
POST/HTTP/0.9
Content-Type: text/xml;charset=UTF-8
SOAPAction: ""
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 172.17.192.113:6133
Content-Length: 265
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<WBSREFT xmlns="http://tempuri.org/LICPOCSampleService">
<arg0 xmlns="">to cobol</arg0>
</WBSREFT>
</soapenv:Body>
</soapenv:Envelope>
: 나는 tcpmon을가 캡처 무엇 soapUI를 사용하여 XML 요청을 보내는 경우
POST/HTTP/1.1
Content-Type: text/xml; charset=UTF-8
SOAPAction: "WBSREFT"
User-Agent: Axis2
Host: 172.17.192.113:6133
Transfer-Encoding: chunked
102
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<WBSREFT xmlns="http://tempuri.org/LICPOCSampleService">
<arg0 xmlns="">to cobol</arg0>
</WBSREFT>
</soapenv:Body>
</soapenv:Envelope>0
: 아파치 tcpmon을 사용
나는이 요청을 캡처 한 (102) 그리고 XML의 중간에 0 ... 그것은 무엇 일 수 있습니까?
을 또한 깨진 SOAP 요청을 재생산 할 수있는 최소 코드를 게시합니다. – Tomalak
3 개의 XML 조각을 게시합니다. 첫 번째 코드에만 이상하거나 깨진 인코딩 속성이 있습니다. 후자의 두 작품은 어떻게 제작 했습니까? –