คำถามติดแท็ก jax-ws

19
ติดตามการร้องขอ / ตอบกลับ XML ด้วย JAX-WS
มีวิธีที่ง่าย ๆ (aka: ไม่ได้ใช้พร็อกซี) เพื่อเข้าถึงการร้องขอ / การตอบกลับ XML สำหรับเว็บเซอร์วิซที่เผยแพร่ด้วยการอ้างอิง JAX-WS (หนึ่งที่รวมอยู่ใน JDK 1.5 และดีกว่า)? ความสามารถในการทำด้วยรหัสคือสิ่งที่ฉันต้องทำ เพียงแค่มีมันเข้าสู่ไฟล์โดยการกำหนดค่าการบันทึกที่ฉลาดจะดี แต่พอ ฉันรู้ว่ามีเฟรมเวิร์กที่ซับซ้อนและสมบูรณ์กว่านี้อยู่ แต่ฉันอยากจะให้มันง่ายที่สุดเท่าที่จะทำได้และแกน, cxf, และอื่น ๆ ทั้งหมดเพิ่มค่าใช้จ่ายจำนวนมากที่ฉันต้องการหลีกเลี่ยง ขอบคุณ!

4
ความแตกต่างระหว่าง JAX-WS, Axis2 และ CXF
อะไรคือความแตกต่างระหว่าง: JAX-WS Axis2 CXF สามารถใช้ทั้งสามอย่างเพื่อสร้างบริการเว็บใน Java อย่างที่ฉันรู้ว่า JAX-WS เป็นข้อกำหนดและ Axis2 และ CXF เป็นการนำไปใช้งาน แต่ Java 1.6 มีการใช้งาน JAX-WS หากฉันไม่ผิด ดังนั้นเราสามารถใช้ Java 1.6 เพื่อพัฒนาเว็บเซอร์วิส JAX-WS โดยไม่ต้องใช้ Axis2 หรือ CXF? แล้ว Axis2, CXF ใช้ยังไง?
131 java  jax-ws  cxf  axis2 

3
วิธีการเรียก SOAP Web Service จากคลาส Java
ฉันเพิ่งรู้จักกับโลกบริการเว็บและงานวิจัยของฉันดูเหมือนจะทำให้ฉันสับสนมากกว่าที่จะให้ความกระจ่างแก่ฉันปัญหาของฉันคือฉันได้รับไลบรารี (jar) ซึ่งฉันต้องขยายด้วยฟังก์ชันการทำงานของบริการเว็บ ไลบรารีนี้จะถูกแชร์ให้กับนักพัฒนาคนอื่น ๆ และในบรรดาคลาสใน jar จะเป็นคลาสที่มีเมธอดที่เรียกใช้บริการเว็บ (ซึ่งโดยพื้นฐานแล้วจะตั้งค่าแอตทริบิวต์ของคลาสโดยใช้ตรรกะทางธุรกิจบางอย่างเช่นการจัดเก็บอ็อบเจ็กต์ในฐานข้อมูล ฯลฯ และส่งกลับวัตถุด้วยการปรับเปลี่ยนเหล่านั้น) ฉันต้องการโทรหาบริการนี้อย่างง่ายที่สุดหวังว่าจะง่ายที่สุดเพื่อให้นักพัฒนาที่ใช้คลาสต้องทำเท่านั้น Car c = new Car("Blue"); c.webmethod(); ฉันเรียน JAX-WS เพื่อใช้บนเซิร์ฟเวอร์ แต่สำหรับฉันแล้วฉันไม่จำเป็นต้องสร้างwsimportในเซิร์ฟเวอร์หรือwsimportบนไคลเอนต์เนื่องจากฉันรู้ว่าทั้งสองมีคลาสฉันแค่ต้องการการโต้ตอบระหว่างคลาส แชร์ทั้งในเซิร์ฟเวอร์และไคลเอนต์ คุณคิดว่าการทำเว็บเซอร์และการโทรในชั้นเรียนมีเหตุผลอย่างไร
116 java  web-services  soap  jax-ws  saaj 

4
จะเปลี่ยนปลายทาง url ของบริการเว็บได้อย่างไร?
ฉันสร้างไคลเอ็นต์บริการเว็บโดยใช้ยูทิลิตี้ JBoss (เข้ากันได้กับ JAX-WS) โดยใช้ Eclipse 'เว็บเซอร์วิสไคลเอ็นต์จาก wsdl' ดังนั้นสิ่งเดียวที่ฉันให้คือ url ไปยัง WSDL บริการเว็บ ตอนนี้ผู้ให้บริการเว็บแจ้งให้ฉันเปลี่ยน "url ของการเข้าถึงแอปพลิเคชันปลายทางไคลเอ็นต์" ของบริการบนเว็บ มันคืออะไรและจะเปลี่ยนได้อย่างไร?

5
JAX-RS และ JAX-WS ต่างกันอย่างไร
หลังจากอ่านบทความเกี่ยวกับ JAX-RS และ JAX-WS แล้วฉันมีคำถามสองสามข้อที่ต้องการยืนยัน? JAX-RS สามารถทำ Asynchronous Request เช่น JAX-WS ได้หรือไม่? JAX-RS สามารถเข้าถึงบริการเว็บที่ไม่ได้ทำงานบนแพลตฟอร์ม Java และในทางกลับกันได้หรือไม่? "REST มีประโยชน์อย่างยิ่งสำหรับอุปกรณ์ที่มีโปรไฟล์ จำกัด เช่นพีดีเอและโทรศัพท์มือถือ" หมายความว่าอย่างไร หมายความว่าอย่างไรโดย "JAX-RS ไม่ต้องการข้อความ XML หรือคำจำกัดความของบริการ WSDL - API?

6
อะไรคือความแตกต่างระหว่างสไตล์เอกสารและการสื่อสารสไตล์ RPC?
ใครช่วยอธิบายความแตกต่างระหว่างบริการเว็บสไตล์เอกสารและ RPC ให้ฉันฟังได้ไหม นอกเหนือจาก JAX-RPC เวอร์ชันถัดไปคือ JAX-WS ซึ่งรองรับทั้งสไตล์เอกสารและ RPC ฉันยังเข้าใจว่าบริการเว็บสไตล์เอกสารมีไว้สำหรับการสื่อสารแบบอะซิงโครนัสโดยที่ไคลเอนต์จะไม่บล็อกจนกว่าจะได้รับการตอบกลับ ไม่ว่าจะด้วยวิธีใดก็ตามโดยใช้ JAX-WS ในปัจจุบันฉันใส่คำอธิบายประกอบบริการด้วย@Webserviceสร้าง WSDL และจาก WSDL นั้นฉันสร้างอาร์ติแฟกต์ฝั่งไคลเอ็นต์ เมื่อได้รับอาร์ติแฟกต์แล้วในทั้งสองสไตล์ฉันจะเรียกใช้เมธอดบนพอร์ต ตอนนี้สิ่งนี้ไม่แตกต่างกันในสไตล์ RPC และสไตล์เอกสาร อะไรคือความแตกต่างและความแตกต่างนั้นมองเห็นได้ที่ไหน? ในทำนองเดียวกัน SOAP ผ่าน HTTP แตกต่างจาก XML ผ่าน HTTP อย่างไร หลังจาก SOAP ทั้งหมดยังเป็นเอกสาร XML ที่มี SOAP namespace

8
ฉันจะตั้งค่าการหมดเวลาสำหรับไคลเอ็นต์บริการเว็บ JAX-WS ได้อย่างไร
ฉันใช้ JAXWS-RI 2.1 เพื่อสร้างอินเทอร์เฟซสำหรับบริการเว็บของฉันโดยใช้ WSDL ฉันสามารถโต้ตอบกับบริการเว็บได้โดยไม่มีปัญหา แต่ไม่สามารถระบุระยะหมดเวลาสำหรับการส่งคำขอไปยังบริการเว็บได้ หากเหตุผลบางอย่างมันไม่ตอบสนองลูกค้าก็ดูเหมือนว่าจะหมุนวงล้อตลอดไป การล่าสัตว์ได้เปิดเผยว่าฉันน่าจะพยายามทำสิ่งนี้: ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.request.timeout", 10000); ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.ws.connect.timeout", 10000); ฉันยังค้นพบว่าขึ้นอยู่กับรุ่นของ JAXWS-RI ที่คุณมีคุณอาจต้องตั้งค่าคุณสมบัติเหล่านี้แทน: ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.request.timeout", 10000); ((BindingProvider)myInterface).getRequestContext().put("com.sun.xml.internal.ws.connect.timeout", 10000); ผมมีปัญหาคือว่าไม่ว่าที่ดังกล่าวข้างต้นถูกต้องผมไม่ทราบว่าที่ฉันสามารถทำเช่นนี้ สิ่งที่ฉันมีคือServiceคลาสย่อยที่ใช้อินเทอร์เฟซที่สร้างขึ้นอัตโนมัติไปยังบริการเว็บและเมื่อถึงจุดที่สิ่งนี้กำลังได้รับการติดตั้งหาก WSDL ไม่ตอบสนองแสดงว่าสายเกินไปที่จะตั้งค่าคุณสมบัติ: MyWebServiceSoap soap; MyWebService service = new MyWebService("http://www.google.com"); soap = service.getMyWebServiceSoap(); soap.sendRequestToMyWebService(); ใครช่วยชี้ทางที่ถูกต้องให้หน่อยได้ไหม!

6
ไคลเอนต์ JAX-WS: เส้นทางที่ถูกต้องในการเข้าถึง WSDL ในเครื่องคืออะไร?
ปัญหาคือฉันต้องสร้างไคลเอนต์บริการเว็บจากไฟล์ที่ได้รับมา ฉันเก็บไฟล์นี้ไว้ในระบบไฟล์ในเครื่องและในขณะที่ฉันเก็บไฟล์ WSDL ไว้ในโฟลเดอร์ระบบไฟล์ที่ถูกต้องทุกอย่างก็เรียบร้อยดี เมื่อฉันปรับใช้กับเซิร์ฟเวอร์หรือลบ WSDL ออกจากโฟลเดอร์ระบบไฟล์พร็อกซีไม่พบ WSDL และทำให้เกิดข้อผิดพลาด ฉันค้นหาเว็บและฉันพบโพสต์ต่อไปนี้ แต่ฉันไม่สามารถใช้งานได้: JAX-WS กำลังโหลด WSDL จาก jar http://www.java.net/forum/topic/glassfish/metro -and-jaxb / client-jar-cant-find-local-wsdl-0 http://blog.vinodsingh.com/2008/12/locally-packaged-wsdl.html ฉันใช้ NetBeans 6.1 (นี่เป็นแอปพลิเคชันดั้งเดิมที่ฉันอัปเดตด้วยไคลเอนต์บริการเว็บใหม่นี้) ด้านล่างนี้คือคลาสพร็อกซี JAX-WS: @WebServiceClient(name = "SOAService", targetNamespace = "http://soaservice.eci.ibm.com/", wsdlLocation = "file:/C:/local/path/to/wsdl/SOAService.wsdl") public class SOAService extends Service { private final static URL SOASERVICE_WSDL_LOCATION; private final static …
86 java  netbeans  client  jax-ws 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.