문제점 : 여러 웹 사이트 (도메인/ips)에서 공유되는 여러 SOAP 클라이언트/서버의 변경 사항을 관리하는 더 나은 방법을 찾으려고합니다. 다행히도 모든 SOAP 서버/클라이언트를 제어 할 수 있지만 일부 복잡한 유형에 새로운 필드 또는 두 개를 때때로 추가해야합니다.이름 값 쌍 목록이있는 유연한 SOAP 서버/클라이언트 개발?
필드를 추가하면 관련 사이트 전체에서 종속성 문제가 발생합니다. SOAP 서버에 새 필드가 없으면 오류가 발생합니다. 이러한 사이트의 개발자, 데모 및 검증 된 버전에 대한 배포로 인해 종속성 악몽이 발생합니다.
SugarCRM은 복잡한 유형을 설정하고 이름/값 쌍 목록이 있음을 알았습니다. 유사한 접근법을 고려하고 있지만 Stackoverflow에서 사람들로부터 피드백을 받고 싶습니다. 저는 주로 PHP/MySQL을 사용하고 있습니다.
이 방법에 문제가 있습니까? 나는 이것이 내가 이름/값 쌍을 얼마든지 정의 할 수있게 할 것이라고 생각했다. SOAPClient 클래스 매핑에 기존 문제가 발생할 수 있다고 가정합니다.
<xsd:complexType name="name_value">
<xsd:all>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="value" type="xsd:string"/>
</xsd:all>
</xsd:complexType>
<xsd:complexType name="name_value_list">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:name_value[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="name_value_lists">
<xsd:complexContent>
<xsd:restriction base="SOAP-ENC:Array">
<xsd:attribute ref="SOAP-ENC:arrayType" wsdl:arrayType="tns:name_value_list[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>