+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 پاسخ 409 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط Simpath (187 امتیاز)
0 امتیاز
1 پاسخ 794 بازدید
سوال شده 5 سال قبل در برنامه نویسی توسط masoud shahhosseini_ (45 امتیاز)
+1 امتیاز
1 پاسخ 540 بازدید
+2 امتیاز
1 پاسخ 699 بازدید
+1 امتیاز
2 پاسخ 471 بازدید
0 امتیاز
1 پاسخ 1.2هزار بازدید
0 امتیاز
1 پاسخ 887 بازدید
0 امتیاز
0 پاسخ 401 بازدید
0 امتیاز
0 پاسخ 299 بازدید
...