XML 요청을 받아 XML을 구문 분석 한 다음 WorldPay XML API로 전송하는 미들웨어 API 서비스를 통합하려고합니다. 이 응용 프로그램은 .NET 핵심에서 개발되었습니다.DTD 구문 분석 오류가있는 .NET Core Web API XML
XML과 일치하는 클래스를 만들었고 클래스를 컨트롤러 끝점의 입력 매개 변수로 사용하고 있습니다.
는 WorldPay XML API docs에 기초하여, 유효한 요청 형식이다 WorldPay에서의 API의 엔드 포인트와 1 :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE paymentService PUBLIC "-//Worldpay//DTD Worldpay PaymentService v1//EN"
"http://dtd.worldpay.com/paymentService_v1.dtd">
<paymentService version="1.4" merchantCode="YOUR_MERCHANT_CODE"> <!--Enter your own merchant code-->
<submit>
<order orderCode="YOUR_ORDER_CODE"> <!--Enter a unique order code each time-->
<description>YOUR DESCRIPTION</description> <!--Enter a description useful to you-->
<amount currencyCode="GBP" exponent="2" value="5000"/>
<paymentDetails>
<CARD-SSL>
<cardNumber>4444333322221111</cardNumber>
<expiryDate><date month="01" year="2020"/></expiryDate>
<cardHolderName>A Shopper</cardHolderName>
<cardAddress>
<address>
<address1>47A</address1>
<postalCode>CB94BQ</postalCode>
<city>Cambridge</city>
<countryCode>GB</countryCode>
</address>
</cardAddress>
</CARD-SSL>
<session shopperIPAddress="123.123.123.123" id="0215ui8ib1" />
</paymentDetails>
<shopper>
<shopperEmailAddress>[email protected]</shopperEmailAddress>
</shopper>
</order>
</submit>
</paymentService>
API가 끝점 1이어야한다. 서비스는 가맹점 코드를 서비스가 사용하는 판매자 코드로 수정하고 민감한 데이터를 난독 화하고 로그/추적하며 WorldPay에 요청을 보내야합니다.
내가 겪고있는 문제는 요청 XML에! DOCTYPE이 포함되어 있으면 endpoint에서 매개 변수로 만든 클래스가 null이라는 것입니다. ! DOCTYPE 및 정보를 제거하면 XML은 잘 분석되고 매개 변수로서의 객체는 유효합니다. 자신감에
내 엔드 포인트는 다음과 같습니다
<?xml version="1.0"?>
<paymentService>
<submit>
<order>
<description>string</description>
<amount>
<currencyCode>string</currencyCode>
<exponent>string</exponent>
<value>string</value>
</amount>
<paymentDetails>
<cardssl>
<cardNumber>string</cardNumber>
<expiryDate>
<date>
<month>string</month>
<year>string</year>
</date>
</expiryDate>
<cardHolderName>string</cardHolderName>
<cardAddress>
<address>
<address1>string</address1>
<postalCode>string</postalCode>
<city>string</city>
<countryCode>string</countryCode>
</address>
</cardAddress>
</cardssl>
<session>
<shopperIPAddress>string</shopperIPAddress>
<id>string</id>
</session>
</paymentDetails>
<shopper>
<shopperEmailAddress>string</shopperEmailAddress>
</shopper>
<orderCode>string</orderCode>
</order>
</submit>
<version>string</version>
<merchantCode>string</merchantCode>
</paymentService>
를 보라 그건 XML 표현을 허풍 쟁이로 만들었지 만, 내 수업은 [XmlAttribute]/[XmlElement] –