سؤال

ولقد حصلت في بلدي خدمة ويب خدمة public boolean isAlive() بسيطة. I تعريفه في بلدي WSDL:

<wsdl:types>
    <xsd:element name="isAliveResponse" type="xsd:boolean">
    </xsd:element>
</wsdl:types>
<wsdl:message name="isAliveResponse">
    <wsdl:part element="ns:isAliveResponse" name="parameters"/>
</wsdl:message>
<wsdl:portType name="myService">
    <wsdl:operation name="isAlive">
        <wsdl:output message="ns:isAliveResponse"/>
    </wsdl:operation>
</wsdl:portType>
<wsdl:binding name="myServiceSOAP" type="ns:myService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="isAlive">
    <soap:operation soapAction="http://myServiceURL/isAlive" />
    <wsdl:input>
        <soap:body use="literal" />
    </wsdl:input>
    <wsdl:output>
        <soap:body use="literal" />
    </wsdl:output>
</wsdl:operation>
</wsdl:binding>

وعندما تولد الهيكل العظمي خدمة يتم إنشاء طريقة ولكن ليس في كعب العميل. هل هناك مشكلة في WSDL؟ يجب أن أضع اختصار: المدخلات حتى لو كانت طريقة لا تملك الحجج (لم أكن وضع WSDL كله ولكن كل وسيلة أخرى مع الأرجنتين "طلب" يتم إنشاؤها أيضا)؟ وإذا كان لدي لوضع اختصار: إدخال ما سيكون انها رسالة

تعديل : في بعد التحقق من صحة WSDL تحت الكسوف لدي WS-I: (BP2208) wsdl:operation was not a request/response or one-way operation التحذير بعد البحث وجدت وصفا هنا: <لأ href = "http://www.ws-i.org/Testing/ أدوات / 2005/01 / BP11_TAD_1-1.htm # BP2208 "يختلط =" نوفولو noreferrer "> http://www.ws-i.org/Testing/Tools/2005/01/BP11_TAD_1-1.htm#BP2208 (على ما يبدو لا يعمل مرساة) لذلك اعتقد ان الخطأ هو على الارجح في عداد المفقودين اختصار: إدخال

هل كانت مفيدة؟

المحلول

وكما قال في تحرير بلادي كانت المشكلة هي اختصار مفقود: الإدخال. بإضافة

<wsdl:input message="ns:isAliveRequest" />

و

<wsdl:message name="isAliveRequest"></wsdl:message>

وبعد ذلك يتم حل مشكلتي الأصلية ... الختام، أرجو أن يكون البحث أكثر من نفسي قبل أن أطلب على SO: (

نصائح أخرى

ولست متأكدا إذا كان هذا هو مشكلتك ولكن يبدو أن السطر التالي لديهم أي علامة إغلاق:

<wsdl:types>
    <xsd:element name="isAliveResponse" type="xsd:boolean">
</wsdl:types>

وينبغي أن يكون مثل هذا:

<wsdl:types>
    <xsd:element name="isAliveResponse" type="xsd:boolean"/>
</wsdl:types>

وآمل أن يساعد هذا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top