2011-11-16 37 views
5

Tôi đang tạo một dịch vụ web bằng cách sử dụng phpPServer php. Tôi đang tạo một tệp wsdl và tìm kiếm thông tin về cách đặt độ dài chuỗi tối thiểu và tối đa cho một trong các tham số đầu vào cho một trong các thao tác dịch vụ web. Thậm chí có thể không?Có thể yêu cầu độ dài chuỗi tối thiểu và tối đa cho tham số trong tệp wsdl không?

Bằng cách này tôi đang sử dụng xà phòng theo phong cách ràng buộc "rpc"

Trả lời

6

Bạn có mã WSDL bằng tay hoặc không thư viện tạo nó cho bạn bằng cách nhìn vào một lớp endpoint? Nếu bạn đang mã hóa WSDL bằng tay, bạn có thể chỉ cần thêm một cái gì đó như thế này trong bộ mô tả lược đồ của bạn:

<simpleType name="MyStringType"> 
     <restriction base="string"> 
     <minLength value="10" /> 
     <maxLength value="30" /> 
     </restriction> 
    </simpleType> 
    <element name="greetMe"> 
     <complexType> 
     <sequence> 
      <element name="requestType" 
       type="tns:MyStringType"/> 
     </sequence> 
     </complexType> 
    </element> 
+0

Tôi đang sử dụng Eclipse, nó có một công cụ để thiết kế tệp wsdl, nhưng nó không phải là công cụ rất dễ sử dụng, không phải rất trực quan. Dù sao, cảm ơn câu trả lời của bạn, tôi cũng tìm thấy một cách để làm điều này trong Eclipse. Những gì tôi không hiểu là tại sao SoapUP hoặc php SOAPClient không phàn nàn khi tôi nhập một chuỗi 2-char khi độ dài min được định nghĩa là 3 ký tự trong wsdl? –

+0

@DmitriSnytkine Bạn có thể thử một cái gì đó như thế này:
$ client = new SoapClient ("https: // yourservice wsdl", array ('dấu vết' => true, 'ngoại lệ' => true, ) ); – Jeshurun

0

Có thể do việc xác thực của dịch vụ bị tắt. Kiểm tra khung của bạn và xem có một lá cờ cần được đặt trong một trong các tệp xml (application-context.xml) cho cấu hình dịch vụ hay không.

Các vấn đề liên quan