+1 امتیاز
قبل در برنامه نویسی توسط (27 امتیاز)
ویرایش شده قبل توسط

من نیاز دارم که از وب سرویس soap به صورت client استفاده کنم (در جاوا) یک فایل wsdl دارم که با مراجعه به URL ان فایل wsdl قابل نمایش است ، اما نمیدانم از طریق جاوا چطور می توانم این فایل را بخوانم و سرویس مورد نطر خودمو صدا بزنم ،لطفا بفرماءید چه روشی مناسب هستش و چطور پیاده سازی میشه.

1 پاسخ

+1 امتیاز
قبل توسط (693 امتیاز)
ویرایش شده قبل توسط

برای اینکار دو روش وجود دارد که روش دوم معمول است.

1. بصورت دستی فایل wsdl را پارس کنید با استفاده از این کد .

و اطلاعاتی که لازم است را بدست آورید .

2. با استفاده از فایل wsdl کدهای جاوا جنریت کنید و از آن ها استفاده کنید آپاچی cxf یکی از پروژه هایی است که اینکار را برای شما انجام می دهد نمونه پروژه را از اینجا می تونید دانلود کنید .

نحوه انجام اینکار در این ویدیو نشان داده شده .

قبل توسط (0 امتیاز)
سلام شما میتوانید از axis استفاده کنین ، خودش کلاس های جاوا را براتون جنریت میکنه  ، و میتونین از متد هاش استفاده کنین
در maven  این کد اضافه کنین
   <plugin>

                <groupId>org.codehaus.mojo</groupId>
                <artifactId>axistools-maven-plugin</artifactId>
                <version>1.4</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>wsdl2java</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <packageSpace>soap</packageSpace>
                    <sourceDirectory>./</sourceDirectory>
                    <outputDirectory>./src/main/java/wsdl</outputDirectory>
                </configuration>
            </plugin>


<dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis</artifactId>
            <version>1.4</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.axis</groupId>
            <artifactId>axis-jaxrpc</artifactId>
            <version>1.4</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>wsdl4j</groupId>
            <artifactId>wsdl4j</artifactId>
            <version>1.6.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>commons-discovery</groupId>
            <artifactId>commons-discovery</artifactId>
            <version>0.5</version>
        </dependency>
و تمام
روش ها یدیگه ای هم هست ، cxf  و ...

موفق باشید

سوالات مشابه

+1 امتیاز
1 پاسخ 522 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط Simpath (187 امتیاز)
0 امتیاز
1 پاسخ 916 بازدید
سوال شده 6 سال قبل در برنامه نویسی توسط masoud shahhosseini_ (45 امتیاز)
+1 امتیاز
1 پاسخ 701 بازدید
+2 امتیاز
1 پاسخ 798 بازدید
+1 امتیاز
2 پاسخ 705 بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
0 امتیاز
1 پاسخ 998 بازدید
0 امتیاز
0 پاسخ 531 بازدید
0 امتیاز
0 پاسخ 389 بازدید
...