WSDL을 사용하여 Grails 프로젝트에서 웹 서비스를 호출하는 방법을 배우려고합니다. 필자는 WSDL과 일부 XML 결과를 제공 받았다.WSDL, SOAP, REST 등 이해하기
WSDL에서 Java 코드를 생성 할 수 있었고 모든 것이 올바르게 작동하는 것 같습니다. 여기
는 WSDL의 : http://www.restfulwebservices.net/rest/USAZipCodeService.svc?wsdl그리고 여기에 XML입니다 : http://api.geonames.org/postalCodeSearch?placename=MN&username=demo
내 프로젝트에서이 예외를 수신하고 있습니다 :
ERROR client.WebServiceClientFactoryImpl $ WSClientInvocationHandler - "GeoNames을"에 네임 스페이스를 요소. javax.xml.ws.soap.SOAPFaultException : "geonames"요소에 네임 스페이스가 없습니다.
반환 된 XML이 SOAP에 유효하지 않다고 말하는 것 같습니다. 퍼즐 조각을 놓치거나 잘못 이해합니까? 그것은 나에게 꽤 새로운 것이다.
편집 : https://github.com/ctoestreich/cxf-client
그것은 Config.groovy 파일에서 다음과 같이 구성되어 있습니다 (뭔가 잘못 될 수는/여기 실종?) :
wsdl = "http://www.restfulwebservices.net/wcf/USAZipCodeService.svc?wsdl"
namespace = "cxf.client.postalcode"
clientInterface = "cxf.client.postalcode.IPostalCodeService"
serviceEndpointAddress = "http://api.geonames.org/postalCodeSearch"
나는 CXF 클라이언트라는 Grails의 플러그인을 사용하려고
파서에 wsdl 정의를 전달 하시겠습니까? –
잘 모르겠습니다. 내가 사용하고있는 플러그인은 wsdl을 원하며 구성에 제공했습니다. 이것은 Java 클래스를 생성하는 데 사용되었습니다. 나는 그것이 다른 곳으로 가야 할 필요가있는 곳을 지나가는 것을 처리하는지는 모르지만 나는 생각한다. –