2016-07-11 3 views
3

나는 여기에이 SOAP 엔드 포인트를 추가하려고 해요 : http://ds.hitpromo.net/product.NET의 SOAP 클라이언트 : 배열

나는 다음과 같은 오류 얻을 그러나 :

Scaffolding Code ... Error:Error: Cannot import wsdl:portType Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.XmlSerializerMessageContractImporter Error: The datatype ' http://schemas.xmlsoap.org/soap/encoding/:Array ' is missing. XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:portType[@name='ProductControllerPortType'] Error: Cannot import wsdl:binding Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on. XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:portType[@name='ProductControllerPortType'] XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:binding[@name='ProductControllerBinding'] Error: Cannot import wsdl:port

Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on. XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:binding[@name='ProductControllerBinding'] XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:ProductControllerwsdl']/wsdl:service[@name='ProductControllerService']/wsdl:port[@name='ProductControllerPort'] Error: No endpoints compatible with .Net Core apps were found. An error occurred in the tool.

Failed to generate service reference.

내가 알고있는 것처럼, 그것은 .NET의 때문입니다을 SOAP 생성 코드가 xmlns:soap-enc="http://schemas.xmlsoap.org/soap/encoding/"의 유형을 포함하는 것으로 이해하지 못했습니다. 수동으로 포함되었지만 지시 사항이 명확하지 않습니다 (이 주제에 대한 다른 StackOverflow 응답 포함). WSDL을 다운로드하고 import/include를 사용하면 효과가 없습니다.

아이디어가 있으십니까?

답변

1

나는 주어진 주소 http://ds.hitpromo.net/product을 시도해 보았고 어떤 문제없이 프로젝트에 대한 서비스 참조로 성공적으로 추가했다.

웹 참조로 추가하면 도움이 될 수 있습니다. "Add Service Reference"=> "Advanced"=> Select를 선택하고 "Add Web Reference"를 선택하여 거기에 추가 할 수 있습니까?

이전에는 웹 참조로 엔드 포인트를 추가하는 것이 나에게 비슷한 문제를 해결했습니다. 당신이 시도 할 수

+0

흠 .NET 핵심 AFAIK 작동하지 않습니다 : 여기 링크입니다 -

나는 다소 닷넷 4.5 사용하여 유사한 WCF했던 상황이 있었다 . – StrangeWill

1

몇 가지 :

1)는 WSDL의 로컬 복사본을 만들고 잘못된 XML 네임 스페이스를 제거합니다. 그런 다음 서비스 참조를 로컬 복사본에 추가합니다.

2. 서비스 참조가 아닌 웹 참조로 서비스를 가져 오십시오. 서비스 참조 추가 => 고급 => 웹 참조 추가.

3.) .Net 4.x로 다시 돌아 가야 할 수도 있습니다. SOAP 서비스의 코어 지원은 레거시 WSDL을 처리 할 정도로 성숙하지 않을 수 있습니다. 나는 그에 대한 해결 방법을 찾을 수있을 것이다 How can I create custom XML namespace attributes when consuming a legacy SOAP service?