2017-02-06 13 views
5

Tôi hiện đang thực hiện yêu cầu cung cấp định tuyến cho yêu cầu ánh xạ lớn, có thể có tối đa 30 mục chuỗi truy vấn. Khi phát triển dự án BizTalk của tôi, tôi đã thành công trong việc chấp nhận một yêu cầu http với một số lượng nhỏ truy vấn bằng cách sử dụng kiểu WCF-WebHttp, quảng bá các thuộc tính và gửi thông điệp đến hệ thống thích hợp thông qua cổng gửi đăng ký.BizTalk 2013 - 256 Giới hạn ký tự trên URL khi lộ điểm cuối REST qua WCF-WebHttp

Tuy nhiên, nếu số lượng querystrings tăng tới điểm mà các địa chỉ URL vượt quá 256 ký tự, tôi nhận được lỗi sau:

Giá trị của một tài sản phát huy có thể không được vượt quá 256 ký tự. Thuộc tính "To" Namespace "http://schemas.microsoft.com/BizTalk/2006/01/Adapters/WCF-properties". Tên thông số: obj

Điều này được ném trước khi nhận đường ống. Tôi hiểu rằng các thuộc tính được quảng bá không được vượt quá 256 ký tự, tuy nhiên trong trường hợp này tôi bị kẹt vì tôi (dường như) không có quyền kiểm soát việc quảng cáo bất động sản liên quan đến tài sản trên.

Có thể định cấu hình ứng dụng BizTalk không để quảng cáo thuộc tính "Tới" không? Tôi đoán rằng nó được quảng cáo vì một lý do, vì vậy nó có thể không phải là một giải pháp khả thi để làm điều này - nếu nó có thể được thực hiện ở tất cả.

Với ý nghĩ đó, có cách nào khác để tạo vị trí nhận có thể xử lý các yêu cầu với số lượng truy vấn lớn không? Tôi đã nhìn vào WCF-Custom, nhưng tôi không thể nhìn thấy bất cứ điều gì rõ ràng.

Trả lời

5

Rất có thể bạn đang sử dụng phương thức GET để hiển thị dịch vụ. Bạn nên xem xét sử dụng phương thức POST khi bạn có nhiều tham số. Bạn có thể gửi một thông báo json/xml trong Nội dung với tất cả chi tiết tới một url nhỏ. Trong trường hợp bạn quyết định sử dụng json, bạn có thể sử dụng thành phần đường ống JSON để chuyển đổi json thành XML và sau đó thực hiện định tuyến của bạn theo yêu cầu.

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