wsimport تمام شد. فراخوان SOAP هنوز به یک پروکسی نیاز دارد.
تولید WSDL، واکشی WSDL در زمان اجرا و فراخوان SOAP را هنگام پیکربندی دسترسی پروکسی JAX-WS از هم جدا کنید.
WSDL دانلود شد، کلاسهای Java تولید شدند و نخستین فراخوان SOAP هنوز نمیتواند از شبکه بیرون برود. گزینه پروکسیای که مولد به کار میبرد به اجرای خود مولد تعلق دارد.
مرجع wsimport در Oracle JDK 8 گزینه پروکسی HTTP را برای آن ابزار مستند میکند. این یک دستور قابل انتقال نیست که در کلاسهای سرویس تولیدشده جای بگیرد. برنامهای که بعداً اجرا میشود میتواند در JVM دیگری، با حساب دیگری و با پیادهسازی JAX-WS دیگری کار کند.
مشخص کنید کدام درخواست شکست خورده است
| مرحله | فرایند یا مؤلفهای که باید بررسی شود |
|---|---|
| تولید کلاسها از WSDL و importها | ابزار ساخت یا فراخوان wsimport |
| خواندن WSDL هنگام ساخت سرویس | محل WSDL برنامه و کلاینت زمان اجرا |
| فراخوان نقطه پایانی SOAP | انتقال زمان اجرای انتخابشده و پیکربندی پروکسی آن |
مرحله میانی بهراحتی از نظر دور میماند. سرویس تولیدشده ممکن است هنوز به یک WSDL راه دور ارجاع دهد. اگر زمان اجرا باید آن را هنگام ساخت واکشی کند، پیکربندی درگاه فقط پس از آن برای آن دانلود پیشین بسیار دیر است. بستهبندی توصیف موردنظر بهعنوان منبع برنامه میتواند در جایی که پیادهسازی پشتیبانی میکند این وابستگی به واکشی را حذف کند.
کلاسی به نام ClientProxyFeature از یک پیادهسازی بهطور خودکار بخشی از هر ارائهدهنده JAX-WS نیست.
اعتبارنامههای پروکسی را از اعتبارنامههای سرویس SOAP جدا نگه دارید. یک دانلود موفق WSDL حتی میتواند ناشناس باشد، در حالی که نقطه پایانی عملیات ورود میخواهد، یا برعکس.
نشانی URL ناموفق و نقطهای که ساخت یا فراخوان در آن متوقف شد را ثبت کنید. این کار معمولاً نشان میدهد تنظیم گمشده به کجا تعلق دارد، بدون تلاش دوباره برای تولید دقیقاً همان کلاسها.