은 다음과 같습니다비누 클라이언트 요청 코드는 2.5.1
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:soap1="urn:website.co.uk/soap:callreport7">
<soap:Header>
<soap1:callcreditheaders>
<soap1:company>?</soap1:company>
<soap1:username>?</soap1:username>
<soap1:password>?</soap1:password>
</soap1:callcreditheaders>
</soap:Header>
<soap:Body>
<soap1:Test07a>?</soap1:Test07a>
</soap:Body>
</soap:Envelope>
내가 지금까지 가지고 다음에 올 : 나는를 제거하면
Savon::SOAPFault: (soap:Server) An internal system error has occurred
:의 콘솔에서 실행하는 경우
client = Savon.client(
wsdl: "CallReport7.wsdl",
env_namespace: :soap,
soap_header: {
"soap1:callcreditheaders" => {
'soap1:company' => 'XXXX',
'soap1:username' => 'XXXX',
'soap1:password' => 'XXXX'
}
}
)
response = client.call(:test07a, message: "Test")
이 오류를 반환 해시 soap_header 다음 테스트 실행 및 반환 :
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<Test07aResponse xmlns="website.co.uk/soap:callreport7">
<TestResult>
<datetime>2014-06-06T14:18:35.081125+01:00</datetime>
</TestResult>
</Test07aResponse>
</soap:Body>
</soap:Envelope>
문제는 내가 헤더 정보를 필요로하고 나는이에 대한 요청을 포맷하는 방법을 작동하지 않을 수 있습니다.
답장을 보내 주셔서 감사합니다. 요청은 SoapUI에서 유효합니다. Savon에서 요청의 형식을 지정하는 것이 문제입니다. 저는 Savon에게 매우 익숙하며 형식상의 문제가 무엇인지 이해하려고합니다. –