soap 통신인데요.. 얼마전에 땅콩맨님이 갈켜주신 사이트를 참조하여 wsdl 를 구성해서 해봤더니 함수호출까지는 되는데 파라미터값이 상대서버에 널값으로 들간다고 하네요~!
테스트를 해보니
널값이 안가게 하려면 namespace(NS1) 이걸 다 붙이던지 또는 다 빼면 되네요!
생성된 xml은 델파이에서 자동만들어진건데 수정할수 있는 방법이 없네요..
이런 문제를 어떻게 처리해야할지 방법좀 갈켜주~~~세요~!!! 꼭 좀~~부탁드려요~~ 꾸벅
※혹시 패치나 컨퍼넌트를 다를것을 쓰거나 그래야 되는건지 아니면 다른방법이 또 있는지
도대체 모르겠어요~ !!
========안되는 예(델파이7에서 자동생성된)===============
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<NS1:ConfirmOrderInfo_Dev xmlns:NS1="urn:testWsd_l-ServiceSoap">
<ID xsi:type="xsd:string">aaaa</ID>
<PW xsi:type="xsd:string">bbbb</PW>
<OrderNo xsi:type="xsd:string">123456789</OrderNo>
<YN xsi:type="xsd:string">Y</YN>
</NS1:ConfirmOrderInfo_Dev>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
========잘되는 예(자동생성된자료에서 네임스페이스를 지운)===============
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<ConfirmOrderInfo_Dev xmlns="http://tempuri.org/">
<ID xsi:type="xsd:string">aaaa</ID>
<PW xsi:type="xsd:string">bbbb</PW>
<OrderNo xsi:type="xsd:string">123456789</OrderNo>
<YN xsi:type="xsd:string">Y</YN>
</ConfirmOrderInfo_Dev>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>