Using Studio to develop DII Client for DiningGuide example
Hi,
I am trying to develop a DII client to the DiningGuide example from the Java Studio Enterprise Tutorials and Code Camps:
http://developers.sun.com/prodtech/javatools/jsenterprise/learning/tutorials/index.html
I am using Studio6 with Application Server 7 update 3 with Java WSDP 1.3 [JAX-RPC 1.1 support]
The question is how does Studio support JAX-RPC DII client development ? I understand that the config.xml file is different between Static stub based client and a DII client. Please let me know as to how to configure
Studio to do this.
Below is the code that is new in the DIIClient shown in 3 sections:
- imports area in CustomerReviewTable.java
- getCustomerReviewByName method in CustomerReviewTable.java
[Basically taking the code from
http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXRPC6.html#75222
and modifying this to use this service and make appropriate
changes for the return value (Vector).
I suspect that this is where the problem is but need help to fix
it. - Thanks!!]
- Variables declaration new for DIIClient
- The WSDL for the DGWebService service is also shown
I tried it with both JAXRPC 1.0 and JAXRPC 1.1 [Setting this for the
Service in Studio 6] and regenerating the Service code
but did not see any difference.
Right now, with the code shown below, I do not get any exceptions, but
it doesnot show any reviews [Vector returned is null].
Really appreciate your help,
Sridhar.
============ imports area in CustomerReviewTable.java ===============
package DIIClient;
import javax.swing.table.*;
import java.util.*;
import WebService.DGWebServiceClientGenClient.*;
/* New for DII */
import javax.xml.rpc.Call;
import javax.xml.rpc.Service;
import javax.xml.rpc.JAXRPCException;
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.ParameterMode;
========= getCustomerReviewByName method in CustomerReviewTable.java
=========
private Vector getCustomerReviewByName(java.lang.String
restaurantname) {
Vector custList = new Vector();
try {
/* Old Static Stub in the Swing Client that works:
WebService.DGWebServiceClientGenClient.DGWebService service2
= new
WebService.DGWebServiceClientGenClient.DGWebService_Impl();
WebService.DGWebServiceClientGenClient.DGWebServiceServantInterface
port = service2.getDGWebServiceServantInterfacePort();
custList =
(java.util.Vector)port.getCustomerreviewsByRestaurant(restaurantname);
/* New DII Code below ... */
System.out.println("Now using DII Code ...");
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new
QName(qnameService));
QName port = new QName(qnamePort);
Call call = service.createCall(port);
call.setTargetEndpointAddress(endPointAddress);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new
Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(ENCODING_STYLE_PROPERTY, URI_ENCODING);
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
QName QNAME_TYPE_VECTOR = new QName(NS_XSD, "vector");
call.setReturnType(QNAME_TYPE_VECTOR);
call.setOperationName(new QName(BODY_NAMESPACE_VALUE,
"getCustomerreviewsByRestaurant"));
call.addParameter("String_1", QNAME_TYPE_STRING,
ParameterMode.IN);
String[] params = { restaurantname };
custList = (java.util.Vector) call.invoke (params);
System.out.println(custList);
catch (Exception ex) {
System.err.println("Caught an exception." );
ex.printStackTrace();
return custList;
============ Variables declaration new for DIIClient ====================
//Variables declaration new for DIIClient
private static String qnameService = "DGWebService";
private static String qnamePort = "DGWebServiceServantInterface";
private static String endPointAddress =
"http://localhost:80/DGWebService/DGWebService";
private static String BODY_NAMESPACE_VALUE = "urn:DGWebService/wsdl";
private static String ENCODING_STYLE_PROPERTY =
"javax.xml.rpc.encodingstyle.namespace.uri";
// private static String NS_XSD = "http://www.w3.org/2001/XMLSchema";
private static String NS_XSD =
"http://java.sun.com/jax-rpc-ri/internal";
private static String URI_ENCODING =
"http://schemas.xmlsoap.org/soap/encoding/";
//http://schemas.xmlsoap.org/soap/encoding/
//http://java.sun.com/jax-rpc-ri/internal
============ The WSDL for the DGWebService service =================
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="DGWebService" targetNamespace="urn:DGWebService/wsdl"
xmlns:tns="urn:DGWebService/wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:ns2="http://java.sun.com/jax-rpc-ri/internal"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:ns3="urn:DGWebService/types">
<types>
<schema targetNamespace="http://java.sun.com/jax-rpc-ri/internal"
xmlns:tns="http://java.sun.com/jax-rpc-ri/internal"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<import namespace="urn:DGWebService/types"/>
<complexType name="vector">
<complexContent>
<extension base="tns:list">
<sequence/></extension></complexContent></complexType>
<complexType name="list">
<complexContent>
<extension base="tns:collection">
<sequence/></extension></complexContent></complexType>
<complexType name="collection">
<complexContent>
<restriction base="soap11-enc:Array">
<attribute ref="soap11-enc:arrayType"
wsdl:arrayType="anyType[]"/></restriction></complexContent></complexType></schema>
<schema targetNamespace="urn:DGWebService/types"
xmlns:tns="urn:DGWebService/types"
xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
<import namespace="http://java.sun.com/jax-rpc-ri/internal"/>
<complexType name="CustomerreviewDetail">
<sequence>
<element name="customername" type="string"/>
<element name="restaurantname" type="string"/>
<element name="review" type="string"/>
<element name="sampleProperty"
type="string"/></sequence></complexType>
<complexType name="RestaurantDetail">
<sequence>
<element name="address" type="string"/>
<element name="cuisine" type="string"/>
<element name="description" type="string"/>
<element name="neighborhood" type="string"/>
<element name="phone" type="string"/>
<element name="rating" type="int"/>
<element name="restaurantname" type="string"/>
<element name="sampleProperty"
type="string"/></sequence></complexType></schema></types>
<message name="DGWebServiceServantInterface_createCustomerreview">
<part name="String_1" type="xsd:string"/>
<part name="String_2" type="xsd:string"/>
<part name="String_3" type="xsd:string"/></message>
<message
name="DGWebServiceServantInterface_createCustomerreviewResponse"/>
<message name="DGWebServiceServantInterface_getAllRestaurants"/>
<message name="DGWebServiceServantInterface_getAllRestaurantsResponse">
<part name="result" type="ns2:vector"/></message>
<message name="DGWebServiceServantInterface_getCustomerreviewDetail"/>
<message
name="DGWebServiceServantInterface_getCustomerreviewDetailResponse">
<part name="result" type="ns3:CustomerreviewDetail"/></message>
<message
name="DGWebServiceServantInterface_getCustomerreviewsByRestaurant">
<part name="String_1" type="xsd:string"/></message>
<message
name="DGWebServiceServantInterface_getCustomerreviewsByRestaurantResponse">
<part name="result" type="ns2:vector"/></message>
<message name="DGWebServiceServantInterface_getRestaurantDetail"/>
<message name="DGWebServiceServantInterface_getRestaurantDetailResponse">
<part name="result" type="ns3:RestaurantDetail"/></message>
<portType name="DGWebServiceServantInterface">
<operation name="createCustomerreview" parameterOrder="String_1
String_2 String_3">
<input
message="tns:DGWebServiceServantInterface_createCustomerreview"/>
<output
message="tns:DGWebServiceServantInterface_createCustomerreviewResponse"/></operation>
<operation name="getAllRestaurants">
<input message="tns:DGWebServiceServantInterface_getAllRestaurants"/>
<output
message="tns:DGWebServiceServantInterface_getAllRestaurantsResponse"/></operation>
<operation name="getCustomerreviewDetail">
<input
message="tns:DGWebServiceServantInterface_getCustomerreviewDetail"/>
<output
message="tns:DGWebServiceServantInterface_getCustomerreviewDetailResponse"/></operation>
<operation name="getCustomerreviewsByRestaurant"
parameterOrder="String_1">
<input
message="tns:DGWebServiceServantInterface_getCustomerreviewsByRestaurant"/>
<output
message="tns:DGWebServiceServantInterface_getCustomerreviewsByRestaurantResponse"/></operation>
<operation name="getRestaurantDetail">
<input
message="tns:DGWebServiceServantInterface_getRestaurantDetail"/>
<output
message="tns:DGWebServiceServantInterface_getRestaurantDetailResponse"/></operation></portType>
<binding name="DGWebServiceServantInterfaceBinding"
type="tns:DGWebServiceServantInterface">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"
style="rpc"/>
<operation name="createCustomerreview">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></output></operation>
<operation name="getAllRestaurants">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></output></operation>
<operation name="getCustomerreviewDetail">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></output></operation>
<operation name="getCustomerreviewsByRestaurant">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></output></operation>
<operation name="getRestaurantDetail">
<soap:operation soapAction=""/>
<input>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></input>
<output>
<soap:body
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" use="encoded"
namespace="urn:DGWebService/wsdl"/></output></operation></binding>
<service name="DGWebService">
<port name="DGWebServiceServantInterfacePort"
binding="tns:DGWebServiceServantInterfaceBinding">
<soap:address
location="http://localhost:80/DGWebService/DGWebService"/></port></service></definitions>
=================================================================
you may have a little better luck in the JNI forum.
Similar Messages
-
Problem with DII client for Doc/Literal with non built-in type in WL8.1 Sp2
Hello,
I have been trying to make this DII client for doc/literal using non built-in type to work for 2 days now.
Any help/input will be greatly appreciated. I have added the code and wsdl below.
BTW this is using the code first approach.
Works perfectly fine with the clientgen generated stubs. But not with DII.
With the stubs, following is the SOAP envelope.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body>
<n1:getType xmlns:n1="http://www.aeb.com/wlws">
<n2:id xmlns:n2="java:com.aeb.types">XYS</n2:id>
<n3:name xmlns:n3="java:com.aeb.types">Name</n3:name>
</n1:getType>
</env:Body>
</env:Envelope>
With DII (using the serializer/deserializer generated by clientgen),
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body>
<n1:TestType xmlns:n1="java:com.aeb.types">
<n1:id>ABC</n1:id>
<n1:name>Some Name</n1:name>
</n1:TestType>
</env:Body></env:Envelope>
Exception
javax.xml.rpc.soap.SOAPFaultException: Unable to find a matching Operation for this remote invocation
<n1:TestType xmlns:n1="java:com.aeb.types">
<n1:id>ABC</n1:id>
<n1:name>Some Name</n1:name>
</n1:TestType>.
Please check your operation name.
at weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:313)
at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
at com.amgen.webservice.clients.DocClient.callService(DocClient.java:83)
at com.amgen.webservice.clients.DocClient.main(DocClient.java:35)
Client
System.setProperty("javax.xml.rpc.ServiceFactory","weblogic.webservice.core.rpc.ServiceFactoryImpl");
System.setProperty("weblogic.webservice.verbose", "true");
String targetNamespace = "http://www.aeb.com/wlws";
ServiceFactory factory = ServiceFactory.newInstance();
QName serviceName = new QName(targetNamespace, "DocWebservice");
QName portName = new QName(targetNamespace, "DocWebservicePort");
QName operationName = new QName(targetNamespace, "getType");
Service service = factory.createService(serviceName);
TypeMappingRegistry registry = service.getTypeMappingRegistry();
TypeMapping mapping = registry.getTypeMapping(SOAPConstants.URI_NS_SOAP_ENCODING);
mapping.register(TestType.class, new QName("java:com.aeb.types","TestType"), new TestTypeCodec(), new TestTypeCodec());
Call call = service.createCall();
call.setOperationName(operationName);
call.setPortTypeName(portName);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(Call.OPERATION_STYLE_PROPERTY, "document");
call.addParameter("testType", new QName("java:com.aeb.types","TestType"), TestType.class, ParameterMode.IN);
call.setReturnType(new QName("java:com.aeb.types", "TestType"),TestType.class);
call.setTargetEndpointAddress("http://localhost:7001/wlws/DocWebservice");
TestType type = new TestType();
type.setId("ABC");
type.setName("Some Name");
TestType res = (TestType) call.invoke(new Object[] { type });
System.out.println(res.getName());
TestType.java
package com.aeb.types;
import java.io.Serializable;
public class TestType implements Serializable {
private String id;
private String name;
public String getId() {
return id;
public void setId(String id) {
this.id = id;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
DocWebservice.java
package com.aeb.webservices;
import com.aeb.types.TestType;
public class DocWebservice {
public TestType getType(TestType type) {
System.out.println("In Server....");
System.out.println("Received : " + type.getName());
return type;
ServiceGen Ant Task
<servicegen destear="${dist.dir}/wlws.ear" contexturi="wlws">
<service javaClassComponents="com.aeb.webservices.DocWebservice"
generateTypes="True"
targetNamespace="http://www.aeb.com/wlws"
serviceName="DocWebservice"
serviceURI="/DocWebservice"
style="document">
<client packageName="com.aeb.ws.doc.client" />
</service>
</servicegen>
WSDL
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:tns="http://www.aeb.com/wlws" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.aeb.com/wlws">
<types xmlns:tns="http://www.aeb.com/wlws"
xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding"
xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="http://www.aeb.com/wlws"
xmlns:tp="java:com.aeb.types"
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="http://www.aeb.com/wlws">
<xsd:import namespace="java:com.aeb.types">
</xsd:import>
<xsd:element xmlns:tp="java:com.aeb.types"
type="tp:TestType"
name="getType"
nillable="true">
</xsd:element>
<xsd:element xmlns:tp="java:com.aeb.types"
type="tp:TestType"
name="getTypeResponse"
nillable="true">
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="java:com.aeb.types"
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="java:com.aeb.types">
<xsd:complexType name="TestType">
<xsd:sequence>
<xsd:element type="xsd:string"
name="id"
minOccurs="1"
maxOccurs="1"
nillable="true">
</xsd:element>
<xsd:element type="xsd:string"
name="name"
minOccurs="1"
maxOccurs="1"
nillable="true">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="getType">
<part xmlns:partns="http://www.aeb.com/wlws"
name="testType"
element="partns:getType">
</part>
</message>
<message name="getTypeResponse">
<part xmlns:partns="http://www.aeb.com/wlws"
name="result"
element="partns:getTypeResponse">
</part>
</message>
<portType name="DocWebservicePort">
<operation name="getType">
<input message="tns:getType">
</input>
<output message="tns:getTypeResponse">
</output>
</operation>
</portType>
<binding type="tns:DocWebservicePort"
name="DocWebservicePort">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http">
</soap:binding>
<operation name="getType">
<soap:operation style="document"
soapAction="">
</soap:operation>
<wsr:reliability persistDuration="60000">
</wsr:reliability>
<input>
<soap:body namespace="http://www.aeb.com/wlws"
use="literal">
</soap:body>
</input>
<output>
<soap:body namespace="http://www.aeb.com/wlws"
use="literal">
</soap:body>
</output>
</operation>
</binding>
<service name="DocWebservice">
<port name="DocWebservicePort"
binding="tns:DocWebservicePort">
<soap:address location="http://localhost:7001/wlws/DocWebservice">
</soap:address>
</port>
</service>
</definitions>
Thanks
AspertHello,
I have been trying to make this DII client for doc/literal using non built-in type to work for 2 days now.
Any help/input will be greatly appreciated. I have added the code and wsdl below.
BTW this is using the code first approach.
Works perfectly fine with the clientgen generated stubs. But not with DII.
With the stubs, following is the SOAP envelope.
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body>
<n1:getType xmlns:n1="http://www.aeb.com/wlws">
<n2:id xmlns:n2="java:com.aeb.types">XYS</n2:id>
<n3:name xmlns:n3="java:com.aeb.types">Name</n3:name>
</n1:getType>
</env:Body>
</env:Envelope>
With DII (using the serializer/deserializer generated by clientgen),
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<env:Header/>
<env:Body>
<n1:TestType xmlns:n1="java:com.aeb.types">
<n1:id>ABC</n1:id>
<n1:name>Some Name</n1:name>
</n1:TestType>
</env:Body></env:Envelope>
Exception
javax.xml.rpc.soap.SOAPFaultException: Unable to find a matching Operation for this remote invocation
<n1:TestType xmlns:n1="java:com.aeb.types">
<n1:id>ABC</n1:id>
<n1:name>Some Name</n1:name>
</n1:TestType>.
Please check your operation name.
at weblogic.webservice.core.ClientDispatcher.receive(ClientDispatcher.java:313)
at weblogic.webservice.core.ClientDispatcher.dispatch(ClientDispatcher.java:144)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:457)
at weblogic.webservice.core.DefaultOperation.invoke(DefaultOperation.java:443)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:558)
at weblogic.webservice.core.rpc.CallImpl.invoke(CallImpl.java:411)
at com.amgen.webservice.clients.DocClient.callService(DocClient.java:83)
at com.amgen.webservice.clients.DocClient.main(DocClient.java:35)
Client
System.setProperty("javax.xml.rpc.ServiceFactory","weblogic.webservice.core.rpc.ServiceFactoryImpl");
System.setProperty("weblogic.webservice.verbose", "true");
String targetNamespace = "http://www.aeb.com/wlws";
ServiceFactory factory = ServiceFactory.newInstance();
QName serviceName = new QName(targetNamespace, "DocWebservice");
QName portName = new QName(targetNamespace, "DocWebservicePort");
QName operationName = new QName(targetNamespace, "getType");
Service service = factory.createService(serviceName);
TypeMappingRegistry registry = service.getTypeMappingRegistry();
TypeMapping mapping = registry.getTypeMapping(SOAPConstants.URI_NS_SOAP_ENCODING);
mapping.register(TestType.class, new QName("java:com.aeb.types","TestType"), new TestTypeCodec(), new TestTypeCodec());
Call call = service.createCall();
call.setOperationName(operationName);
call.setPortTypeName(portName);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY, "");
call.setProperty(Call.OPERATION_STYLE_PROPERTY, "document");
call.addParameter("testType", new QName("java:com.aeb.types","TestType"), TestType.class, ParameterMode.IN);
call.setReturnType(new QName("java:com.aeb.types", "TestType"),TestType.class);
call.setTargetEndpointAddress("http://localhost:7001/wlws/DocWebservice");
TestType type = new TestType();
type.setId("ABC");
type.setName("Some Name");
TestType res = (TestType) call.invoke(new Object[] { type });
System.out.println(res.getName());
TestType.java
package com.aeb.types;
import java.io.Serializable;
public class TestType implements Serializable {
private String id;
private String name;
public String getId() {
return id;
public void setId(String id) {
this.id = id;
public String getName() {
return name;
public void setName(String name) {
this.name = name;
DocWebservice.java
package com.aeb.webservices;
import com.aeb.types.TestType;
public class DocWebservice {
public TestType getType(TestType type) {
System.out.println("In Server....");
System.out.println("Received : " + type.getName());
return type;
ServiceGen Ant Task
<servicegen destear="${dist.dir}/wlws.ear" contexturi="wlws">
<service javaClassComponents="com.aeb.webservices.DocWebservice"
generateTypes="True"
targetNamespace="http://www.aeb.com/wlws"
serviceName="DocWebservice"
serviceURI="/DocWebservice"
style="document">
<client packageName="com.aeb.ws.doc.client" />
</service>
</servicegen>
WSDL
<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns:tns="http://www.aeb.com/wlws" xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding" xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.aeb.com/wlws">
<types xmlns:tns="http://www.aeb.com/wlws"
xmlns:wsr="http://www.openuri.org/2002/10/soap/reliability/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap12enc="http://www.w3.org/2003/05/soap-encoding"
xmlns:conv="http://www.openuri.org/2002/04/wsdl/conversation/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
xmlns="http://schemas.xmlsoap.org/wsdl/">
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="http://www.aeb.com/wlws"
xmlns:tp="java:com.aeb.types"
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="http://www.aeb.com/wlws">
<xsd:import namespace="java:com.aeb.types">
</xsd:import>
<xsd:element xmlns:tp="java:com.aeb.types"
type="tp:TestType"
name="getType"
nillable="true">
</xsd:element>
<xsd:element xmlns:tp="java:com.aeb.types"
type="tp:TestType"
name="getTypeResponse"
nillable="true">
</xsd:element>
</xsd:schema>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:stns="java:com.aeb.types"
elementFormDefault="qualified"
attributeFormDefault="qualified"
targetNamespace="java:com.aeb.types">
<xsd:complexType name="TestType">
<xsd:sequence>
<xsd:element type="xsd:string"
name="id"
minOccurs="1"
maxOccurs="1"
nillable="true">
</xsd:element>
<xsd:element type="xsd:string"
name="name"
minOccurs="1"
maxOccurs="1"
nillable="true">
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</types>
<message name="getType">
<part xmlns:partns="http://www.aeb.com/wlws"
name="testType"
element="partns:getType">
</part>
</message>
<message name="getTypeResponse">
<part xmlns:partns="http://www.aeb.com/wlws"
name="result"
element="partns:getTypeResponse">
</part>
</message>
<portType name="DocWebservicePort">
<operation name="getType">
<input message="tns:getType">
</input>
<output message="tns:getTypeResponse">
</output>
</operation>
</portType>
<binding type="tns:DocWebservicePort"
name="DocWebservicePort">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http">
</soap:binding>
<operation name="getType">
<soap:operation style="document"
soapAction="">
</soap:operation>
<wsr:reliability persistDuration="60000">
</wsr:reliability>
<input>
<soap:body namespace="http://www.aeb.com/wlws"
use="literal">
</soap:body>
</input>
<output>
<soap:body namespace="http://www.aeb.com/wlws"
use="literal">
</soap:body>
</output>
</operation>
</binding>
<service name="DocWebservice">
<port name="DocWebservicePort"
binding="tns:DocWebservicePort">
<soap:address location="http://localhost:7001/wlws/DocWebservice">
</soap:address>
</port>
</service>
</definitions>
Thanks
Aspert -
Problems running DII client for consuming webservices
Hello webservices experts,
am running into problems - when I try running my DII client for a webservice that I've successfully deployed on j2sdkee1.4.
The exception goes like this
java.rmi.RemoteException: JAXRPC.JAXRPCSERVLET.28: Missing port information
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:462)
I've searched this forum and others as well. Although a lot of people seem to be having this problem nobody seems to have got it solved. Any way out? The client is a mere copy paste of the DII client example in j2eetutorial 1.4Solved it ! Some endpoint alias problem during deployment ! Now works fine !
-
DII client for accessing a document style web service
Hi All,
I try to access a document style web service using DII JAX-RPC client and used the wscompile tool to produce wrapper classes .
The following code I used for my work:
import java.rmi.RemoteException;
import javax.xml.namespace.QName;
import javax.xml.rpc.Call;
import javax.xml.rpc.Service;
import javax.xml.rpc.ServiceFactory;
import javax.xml.rpc.encoding.XMLType;
import javax.xml.rpc.ParameterMode;
import java.net.URL;
import nutrient.*;
public class NuDII{
private static String endpoint =
"http://www.strikeiron.com/webservices/usdadata.asmx?wsdl";
private static String qnameService = "USDAData";
private static String qnamePort = "USDADataSoap";
private static String BODY_NAMESPACE_VALUE =
"http://www.strikeiron.com/";
private static String ENCODING_STYLE_PROPERTY =
"javax.xml.rpc.encodingstyle.namespace.uri";
private static String NS_XSD =
"http://www.w3.org/2001/XMLSchema";
private static String URI_ENCODING =
"http://schemas.xmlsoap.org/soap/encoding/";
private static String TYPE_NAMESPACE_VALUE =
"http://www.strikeiron.com/";
private static QName returnType = new QName(NS_XSD, "string");
public static void main(String[] args) {
try {
ServiceFactory factory = ServiceFactory.newInstance();
Service service = factory.createService(new QName(BODY_NAMESPACE_VALUE,qnameService));
QName port = new QName(BODY_NAMESPACE_VALUE,qnamePort);
QName operation = new QName(BODY_NAMESPACE_VALUE,"SearchFoodByDescription");
Call call = service.createCall(port,operation);
call.setTargetEndpointAddress(endpoint);
call.setProperty(Call.SOAPACTION_USE_PROPERTY, new Boolean(true));
call.setProperty(Call.SOAPACTION_URI_PROPERTY,"http://www.strikeiron.com/SearchFoodByDescription");
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"");
call.setProperty(Call.OPERATION_STYLE_PROPERTY, "document");
QName QNAME_TYPE_STRING = new QName(NS_XSD, "string");
QName REQUEST_QNAME = new QName(TYPE_NAMESPACE_VALUE,"SearchFoodByDescription");
QName RESPONSE_QNAME = new QName(TYPE_NAMESPACE_VALUE, "SearchFoodByDescriptionResponse");
call.setReturnType(RESPONSE_QNAME, nutrient.SearchFoodByDescriptionResponse.class);
//call.setReturnType(stringArray);
call.setOperationName(new QName(BODY_NAMESPACE_VALUE,"SearchFoodByDescription"));
call.addParameter("FoodKeywords", REQUEST_QNAME,nutrient.SearchFoodByDescription.class,ParameterMode.IN);
call.addParameter("FoodGroupCode", REQUEST_QNAME, nutrient.SearchFoodByDescription.class,ParameterMode.IN);
SearchFoodByDescription sfd = new SearchFoodByDescription("BabyFoods","1900");
//Object[] params = new Object[2];
//params[0]= new String("BabyFoods");
//params[1]= new String("1900");try
Object[] params = {sfd};
Object result = call.invoke(params);
System.out.println(result);
} catch (Exception ex) {
ex.printStackTrace();
when I start to execute the client I got the following error:
java.rmi.RemoteException: Server was unable to process request. --> Object refer
ence not set to an instance of an object.
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:462)
at NuDII.main(NuDII.java:68)
Shall any body assist me to solve problem.you may have a little better luck in the JNI forum.
-
WWW Location of the Novell Client for XP supporting IP Gateway Services
When connecting Windows XP workstations to the SBS 6.0 server through the
Novell Client 4.9SP1a for Windows XP, there are no services within 4.9
for IP Gateway included. As many of you know, by using BorderManager as
the Firewall/NAT/IP/IPX Gateway to access the Internet, all workstations
accessing the Internet need the IP Gateway service installed with the
client. The Novell Client CD-ROM shipped with the Novell SBS 6.0 media
has clients for Windows NT/2000 (outdated) but none are compatible for
Windows XP (it appears that Novell had not updated their Novell SBS 6.0
media since they started shipping it). In addition, the online
documentation included with the media is outdated (e.g. BorderManager 3.6
docs for BorderManager 3.7 being shipped) and do not mention anything
about configuring Windows XP clients for Novell IP Gateway services.
I have thoroughly looked within Novell's Support site the past few weeks
for:
+ The original Novell Client 4.9 (prior to support packs) to see if that
version of the client has IP Gateway services included (file not found or
listed).
+ Previous Novell Clients for Windows XP to see if those versions support
IP Gateway services. (Support Pack versions only are listed, but no
original versions, and do not contain Novell IP Gateway services).
+ Any instructions or tips for configuring the Novell IP Gateway services
within the Novell Client 4.9 or earlier versions for Windows XP(documents
are non-existent).
All of the above leads the following question:
Can someone please direct me to the location to where the proper
Novell Client for Windows XP supporting Novell IP Gateway services?
Since Windows XP has been around for a few years now, one would think
Novell would have developed a client for it that possesses Novell IP
Gateway services by now to be used with BorderManager. Correct? If so,
where is it? In addition, one would think Novell would include the media
supporting the current software they are shipping, not outdated ones.
(Or at least, ensure their outsourced sales services are doing so.) In
addition, one would also think Novell would at least provide the
necessary tools/files necessary to at least to have the ability to
install their products out of the box - instead of forcing their
consumers to purchase unnecessary additional support services for
something they should have included within their media package or website
at the start.
Nevertheless, I appreciate any input where to find the appropriate Novell
Client for Windows XP supporting Novell IP Gateway services.
Thanks,
EricVIn article <cb60c.5596$[email protected]>, wrote:
> As many of you know, by using BorderManager as
> the Firewall/NAT/IP/IPX Gateway to access the Internet, all workstations
> accessing the Internet need the IP Gateway service installed with the
> client.
>
This is simply not correct. Novell has not been providing IP gateway
functionality within Client32 for a long time, because it is not needed,
and it had serious limitations.
I haven't had a client using IP Gateway for many years now, and I have a
*lot* of BorderManager clients.
The alternative to IP Gateways is a combination of proxies and NAT w/filter
exceptions.
Craig Johnson
Novell Support Connection SysOp
*** For a current patch list, tips, handy files and books on
BorderManager, go to http://www.craigjconsulting.com *** -
We were running fine on a 64-bit Windows 7 laptop using the 5.0.07.029-k9 64-bit client, and a few days ago it stopped working. It would just hang while starting/connecting.
I tried re-installing, which of course didn't work, but I was able to find a restore point around the 1st week of December that, when rolled back, worked.
It looks like Windows update did some updates at that point, specifically
KB2761465 - IE
KB915597 - Windows Defender
KB2760416 - Office 2007
KB2726929 - Office 2003
KB2753842 - Windows 7 64 bit
KB2758857 - Windows 7 64 bit
KB2770660 - Windows 7 64-Bit
KB2779030 - Windows 7 64-Bit
KB2760497 - Word 2003
KB2760582 - Outlook 2003
KB2779562 - Windows 7 64-Bit
KB890830 - Malicious Software Tool
KB2754295 - Security Essentials
The PC is using Office 2003, not 2007.
I have downloaded 5.0.07.0440-k9. It appears that this is the latest 64-bit client.
Questions:
1.) Which, if any of these updates is the culprit?
2.) Is the 0440 version the solution? The user wants to do the Windows Update again, but I am reluctant to break it again without a solution.
Thanks!
Pat Dougherty
Catholic Cemeteries of the Archdiocese of OmahaHi,
I know that my answer doesnt really help to solve your question but thought I'd still metion it.
The Cisco IPsec VPN client is something that is nearing its end (or reached it already) regarding any updates or support from Cisco. I would start looking into possiblity to move into Cisco AnyConnect VPN Client (Newer versions are called AnyConnect Secure Mobility Client)
Heres a link to more specific information regarding the old VPN Client and its end of support
http://www.cisco.com/en/US/prod/collateral/vpndevc/ps5743/ps5699/ps2308/end_of_life_c51-680819.html
I'm not totally sure (as I have barely tested the client software) but you might be able to test using another non Cisco VPN Client for your VPN Client connections if you are not going to move to AnyConnect
I think it was called Shrew VPN Client
Sadly the www.shrew.net site is down now so I cant even confirm this.
- Jouni -
How to Serialize/Deserialize Beans with Web Services using DII client
Dear All;
I had developed a web serivce by Oracle JDeveloper [J2EE 1.4 (JAX-RPC)] and trying to invoke methods within through DII client using Apache Axis 1.
The Beans I am using are structured as follows:
public class InBean {
public InBean() {
private int x;
private float y;
public setters/getters for x
public setters/getters for y
public class OutBean {
public OutBean() {
private String inString;
private String outString;
public setters/getters for inString
public setters/getters for outString
The (InBean) is used as method input and the (OutBean) is used as method output.
The problems I am facing are as follows:
[1] How to serialize/desrialize the Beans as they are not registered with Apache Axis 1?
[2] How to invoke the Beans using Dynamic client DII and not classic proxy and Stubs?
[3] How to create the Beans using WSD2Java of the Apache Axis 1 ?
In case you have any helping URL's, Book names or sample code, please attach as they will be very helpful.
Thanks alot for the help.-----
Best Regards,
Ahmed M. AbbasYou will find some working code at :
http://ksoap.objectweb.org/software/downloads/index.html
It's code that use kSOAP and kXML implementations ....
If you will also find some useful information here :
http://developers.sun.com/techtopics/mobility/apis/articles/wsa/
http://www-106.ibm.com/developerworks/wireless/library/wi-jsr/
http://www-106.ibm.com/developerworks/wireless/library/wi-xmlparse/
Regards. -
Problem in DII client while using custome type
Hi All,
I am accessing a webservice using JAX-RPC DII cleint. Webserviuce is deployed on a websphere app server 6.0
In Webservice i have 1 complextype called Address.
When i try to call the webservice and try to pass the complex type as parameter to web service i get deserialization error for complexType.
I tried to register it using TypeMappingRegistry but again iam getting
exception like "you can't modify default typemapping".
here is my code
public class DIITip implements SerializerConstants {
public static void main(String args[]) {
try {
QName serviceName = new QName("http://localhost:9080/AddressBookService/services/AddressBook/wsdl/AddressBook.wsdl","AddressBookService");
ServiceFactory factory = ServiceFactory.newInstance();
Call call = service.createCall();
QName operationName = new QName("http://addr","setAddressFromName");
call.setOperationName(operationName);
// The input parameter
call.addParameter(
"arg_0_1", // parameter name
QNAME_TYPE_CPLX_TYPE, // parameter XML type QName
Address.class, // parameter Java type class
ParameterMode.IN); // parameter mode
// The return
call.setReturnType(XMLType.XSD_BOOLEAN);
// The operation is an RPC-style operation.
call.setProperty(Call.OPERATION_STYLE_PROPERTY,"rpc");
call.setProperty(Call.ENCODINGSTYLE_URI_PROPERTY,"http://schemas.xmlsoap.org/soap/encoding/");
call.setTargetEndpointAddress("http://localhost:9080/AddressBookService/services/AddressBook");
Address addr = new Address();
addr.setStreetName("Jogesh");
addr.setCity("Puri");
addr.setState("Orisaa");
TypeMappingRegistry registry = service.getTypeMappingRegistry();
TypeMapping mapping2 = registry.getTypeMapping("");
TypeMapping typeMapping = registry.getTypeMapping(SOAPConstants.URI_ENCODING);
QName type = new QName("http://addr", "Address");
CombinedSerializer serializer = new addr.Address_SOAPSerializer(type,
ENCODE_TYPE, NULLABLE, SOAPConstants.NS_SOAP_ENCODING);
serializer = new ReferenceableSerializerImpl(SERIALIZE_AS_REF, serializer);
registerSerializer(typeMapping,addr.Address.class, type, serializer);
// Invoke the operation
Object[] actualArgs = {addr};
Boolean obj = (Boolean) call.invoke(actualArgs);
if (null!= obj)
System.out.println(obj.getStreetName()+" "+obj.getCity()+" "+obj.getState());
}else
System.out.println("Obj is null");
catch (Throwable t) {
t.printStackTrace();
private static void registerSerializer(TypeMapping mapping, Class javaType, QName xmlType,
Serializer ser) {
mapping.register(javaType, xmlType, new SingletonSerializerFactory(ser),
new SingletonDeserializerFactory((Deserializer)ser));
Anybody know how to register/use complext type while using DII client
Many thanks for any help offered.
capriHey Capri,
did you solved your problem?
I' am also looking for a solution to add complex Types.
I use webservices with apache axis. There I don't have to add the parameter to the call object. In the server-config.wsdd, there are all information about the complex type. So I only have to invoke webservice with my object.
But now I want to invoke a BPEL-Process as webservice. I think at this term I have to add the parameter to the call object.
regards,
kirie -
How to search for a particular element within a XML variable using studio?
All,
I am using studio 7.0 to develop a webbased application. In this, i need to access
an oracle db using a WLAI Application View from my Workflow. I get some data back
from Oracle as an XML variable and then apply an XPath statement to access the
individual columns returned.
My problem arises when there are no records in the db matching my criteria and
an empty XML variable is returned to me from the app view. In these cases my
XPath statement fails in studio causing an improper exit.
Does anybody know how to check for content in a XML varaible using studio? So
that if there is content i can proceed with XPath and if there is no content,
then i will take a different route.
Thanks in advance
Regards
SriIf I remember correctly, the adapter will return an XML document that contains
XML elements for each row. You can just simply check the count of these elements
with an XPath statement: ie. count(response/row)
"Sri " <[email protected]> wrote:
>
All,
I am using studio 7.0 to develop a webbased application. In this, i need
to access
an oracle db using a WLAI Application View from my Workflow. I get some
data back
from Oracle as an XML variable and then apply an XPath statement to access
the
individual columns returned.
My problem arises when there are no records in the db matching my criteria
and
an empty XML variable is returned to me from the app view. In these
cases my
XPath statement fails in studio causing an improper exit.
Does anybody know how to check for content in a XML varaible using studio?
So
that if there is content i can proceed with XPath and if there is no
content,
then i will take a different route.
Thanks in advance
Regards
Sri -
Developing Form Distribution for Clients
As a web developer, I've had good success developing an online form and distributing it via my own website.
However, I can't seem to figure out how to do this for my clients. The perfect scenario would be this:
I create an editable form named: AGREEMENT, and set up the distribution to manually send out the form and manually collect the responses. In the form, I create a submit button and put in my client's email address. (I enabled the Adobe extended features.) I would then send the AGREEMENT_distributed.pdf and the AGREEMENT_responses.pdf files to my client, which he would then save on his local hard drive. Then, whenever the client needed, could then send out the AGREEMENT_distributed.pdf in an email. His prospect would fill out the form, click the submit button, and the completed pdf would be emailed to my client. My client doesn't really care about the benefits of the AGREEMENT_responses.pdf file. He just wants an easy way to send out a blank pdf and received back a completed one.
The problems lies in the fact that the distributed.pdf file doesn't seem to work once it leaves my computer. I can't turn it over to him so that he can distribute. The error messages vary, from "file not encoded properly" to "inconsistent with this version of Acrobat".
How do I develop this for the client and turn it over to them?
Many thanks,You do not need different versions. However, you need to be sure that you create the form with backward compatibility to the earliest level you expect to be used. Also, there are differences between Acrobat created forms and Designer forms (obtained from the forms menu in Acrobat). If you use Designer, then you have eliminated editing in Acrobat.
If you expect more than 500 uses of the form by your website by users of Reader, then you need to negotiate with Adobe for the Reader rights. The EULA limits you to 500 saves of the form. It is normal for folks to submit form data by a web script. Since you are just developing the forms for clients, it may be their problem. If you will maintain the forms, you may need to address the license issue. The web submission (most reliable) by FDF or XML is the best way to go and does not require additional license approval beyond 500 (that is just for saving the form as required for submitting the full PDF).
If you receive either data formats, they can be opened in the form in Acrobat so you still have the complete form, but maybe with an extra step. However, you might find the data is easier to deal with for use in a database.
Back to the original: With each version of Acrobat, new form features have been added. You just need to avoid the feature that are AA9 specific. Also, you may want to use the reduce file size or PDF Optimizer (for Acrobat forms - not sure for Designer forms) to save for backward compatibility. -
Development Client for CMSDK 9.0.3
Hi,
I am trying to figure out what exactly I need to develop using CMSDK against the CMSDK server on a separate server. I have installed Oracle 9i jDeveloper, the Oracle 9i Database Client and the cmsdk.jar shipped with the CMSDK install on our AIX server. I am able to compile all sample programs but for some reason I do not seem to be able to connect to the CMSDK server. Using the exact same call on the AIX machine (java oracle.ifs.examples.api.DocumentSample jellema10 temp1 ifs://tstifc1.myhost.nl:1521:iasdb.tstifc1.myhost.nl:CM_SDK_TSTIFC1 iasadmin1) I am able to successfully create a LibraryService and Connection to the CMSDK server. On my NT Client however it complains about an invalid domain format (
When I try to install CMSDK 9.0.3 for NT locally on my development machine, it fails telling me Oracle 9iASR2 should be installed. But I do not want to use my PC as CMSDK Server, just as Client for Development activities. Can someone tell me exactly what I should install on my client to get even the simplest shipped sample to work? Does it require a 9iASR2 install on such a client?
Can I simply copy the files from the AIX CMSDK install - if so, which files? Are there any protocol servers or special processes that need to run on the CMSDK Server for my client to connect? (note: the ftp server runs and can be contacted from my client).
Thanks for your help!
Lucas Jelema
AMIS Services BVHow are you specifying your domain name:
ifs://myhost.dept.comp.nl:1521:iasdb.myhost.dept.comp.nl:CM_SDK_OWNER
or
myhost.dept.comp.nl:1521:iasdb.myhost.dept.comp.nl:CM_SDK_OWNER
It MUST contain the "ifs://"
Here is an example:
package oracle.ifs.examples.bootcamp.labs;
import oracle.ifs.beans.LibrarySession;
import oracle.ifs.beans.LibraryService;
import oracle.ifs.common.CleartextCredential;
import oracle.ifs.common.IfsException;
public class SimpleConnection
public static String schemapassword = "cmsdk";
public static String serviceconfiguration = "SmallServiceConfiguration";
public static String domain =
"ifs://ifspm-sun2.us.oracle.com:1521:mjs92.us.oracle.com:cmsdk903";
public static String servicename = "TestService";
public static String username = "sylvia";
public static String password = "oracle";
public static void main(String[] args)
LibraryService service = null;
LibrarySession session = null;
// verbose exception messages are default
// IfsException.setVerboseMessage(true);
try
// create LibraryService
service = LibraryService.startService(
servicename, schemapassword, serviceconfiguration, domain
// generate Credential
CleartextCredential cred = new CleartextCredential(username,password);
// establish LibrarySession by supplying credential to LibraryService
session = service.connect(cred, null);
System.out.println("LibraryService: "+session.getServerVersionString());
System.out.println("Connected as: "+session.getUser().getName());
System.out.println("Credential Manager: "
+session.getUser().getCredentialManager());
System.out.println("Home Folder Name: "+
session.getUser().getPrimaryUserProfile().getHomeFolder().getAnyFolderPath());
catch (IfsException e)
System.out.println(e.toLocalizedString());
finally
try
// disconnect LibrarySession
session.disconnect();
catch(IfsException e)
System.out.println(e.toLocalizedString());
} -
Does anyone know of a product I can use to script over a Java Client for Or
Does anyone know of a product I can use to script over a Java Client for Oracle Forms edition 9i??????????
You should post your question in the Forms the Developer Suite forums. It is found at:
Forms -
How to develop VoIP client using SIP in J2ME?
Hi Everybody,
I want to develop a VoIP client in J2ME that connects to asterisk server of debian and can call to the registered user of asterisk server and can have a telephonic talk session easily.
Do anybody have idea regarding the development of the client or having tutorial that teaches the development of VoIP in J2ME or in any other way.?
PLZ help me to provide the solution.
Thanks in anticipation.
with regards,
KHAKHAR SAGARHi
I am interested about developing VoIP application (using SIP) in J2ME platform. But I am stuck with the problem of MMAPI. Without using MMAPI J2ME has no access to mobile media devices, such as speaker or microphone, and without creating a player MMAPI can't play media data, such as sound or video. But its not possible to record voice and play voice data simultaneously using player in J2ME. So it seems almost impossible to implement VoIP application maintaining all its constraints and requirements, specially in case of delay and jitter.
I am looking for some solution, which will provide the ability to overcome this problem. I come out with two possible solutions, but not sure about their out come. If we can develop a native media application, we can have access to it by using KNI (K Native Interface). In that way we can take some risk to develop VoIP application for J2ME. My another solution is, we can handle the player using MMAPI to record and play voice data in mill second level, so that we can have a real time feeling, though I am not sure if its possible by using RTSP.
If any one have solution of this problem, please help us.
Reagards
Asif Mohammed Adnan -
Developing java application for your client
as a java programmer who want to develop a software for his client.After the java code and compiling it and running it on ur system,how do i package it for the client so that the software would have been in its programme file instead of the client running it through ms dos for him to use the software
Iam using Advance Installer. U can package ur application using this installer. Create a folder and copy ur lib and jar files into that. follow the installation steps. u can even include jre folder while packaging cos ur application will run even if ur client doesnt have jre installed in his system. well only thru this forum i came to know about Advance installer. u just give the setup file to ur client.
regards -
Plsql client for twitter api (using oauth)
Hi,
I am probably being a bit optimistic, but does anybody have a plsql client for twitter that will allow me to post status updates from oracle? I found this http://somecodinghero.blogspot.com/2010/09/updating-twitter-from-database-using.html, but it doesn't work, simply giving me 401 Unauthorized whenver I try.
Make my day? Please?
Thanks
RalphSo.... Are you ready? Let's go.....
Twitter Part:
1. Acess https://dev.twitter.com
2. Login
3. Create New Application
4. Fill out the data requested by twitter(and create application).
5. Click button "Create my acess token".
6. Copy Consumer key ,Consumer secret ,Access token ,Access token secret to Notepad++(or elsewhere).
7. Click the Tab Settings, and change Application Type to "Read, Write and Access direct messages". click the "Update..."
After installing DB and verified that you have Java 1.5 in your local machine and downloaded twitter4j jar.
1. Open Jdeveloper(i'm working with 11.1.2.1.0)
2. Create a new Application. Create a java Class with:
package client;
import twitter4j.*;
import twitter4j.conf.ConfigurationBuilder;
public class TweetMeMan {
public static String sendTweet(String msg, String sOAuthConsumerKey, String sOAuthConsumerSecret, String sOAuthAccessToken, String sOAuthAccessTokenSecret ) {
String result = "Ok";
try {
ConfigurationBuilder cb = new ConfigurationBuilder();
cb.setOAuthConsumerKey(sOAuthConsumerKey);
cb.setOAuthConsumerSecret(sOAuthConsumerSecret);
cb.setOAuthAccessToken(sOAuthAccessToken);
cb.setOAuthAccessTokenSecret(sOAuthAccessTokenSecret);
TwitterFactory tf = new TwitterFactory(cb.build());
Twitter twitter = tf.getInstance();
Status status = twitter.updateStatus(msg);
System.out.println("Successfully updated the status to [" + status.getText() + "].");
} catch (Exception e) {
System.out.println("Error : " + e.getMessage());
result = e.getMessage();
return result;
}3. Click Project Settings and in Libraries add twitter4j(version).jar
4. Compile project. No errors? Nice.... Errors? Check the log and fix them ;)
5. Create a New Deployment Profile
5.1. Profle Type : Jar File
5.2 Deployment Profile Name : vrodriguestweet (in my case)
6. Deploy the vrodriguestweet (it will save de jar file in deploy folder)
7. Open command line (cmd.exe)
8. Write
loadjava -r -f -o -user vrodrigues/yourpaswword@YourDB your_location_of_the_jar_created_above\vrodriguestweet.jar9. Open Sqldeveloper(or sqlplus) and check if there is under Java this name exists : client/TweetMeMan
9.1 client is the java package i created the java file.
10. Now let's create the function:
CREATE FUNCTION letsTweetVR (p_message varchar2, p_OAuthConsumerKey varchar2, p_OAuthConsumerSecret varchar2, p_OAuthAccessToken varchar2, p_OAuthAccessTokenSecret varchar2 )
RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'client/TweetMeMan.sendTweet
(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) return java.lang.String'; 10.1. No errors? Amazing....keep going you are almost there...
11. Let's tweet:
BEGIN
DBMS_OUTPUT.PUT_LINE(letsTweetVR('Tweeting from database...Awesome, right?',
'your_OAuthConsumerKey',
' your_OAuthConsumerSecret',
'your_OAuthAccessToken',
'your_OAuthAccessTokenSecret')
END;Of course you can do this inside a package or passing the values from some interface.... And you can also do other things that twitter4j does... Like Search for Tweets and so on and so on. ;)
Did someone like this? Or i'm an idiot? : D
All credits goes to the developer of twitter4j....
P.S Remember that this is my first usage of java in DB...so if you can do better, please advise ;)
P.S.1. I will blog this with entire full steps.... just trying to get the time for it :/
https://lh6.googleusercontent.com/-ktXgF_N5rQU/Tz0hx8cEbgI/AAAAAAAAA-s/LOoTf_5pnd0/s864/twiiter.png
Edited by: Vitor Rodrigues on 16/Fev/2012 15:46
Maybe you are looking for
-
My Magic Jack is not working properly. I can make a call and the person I have called can hear me but I can't hear them. What can I do to fix this?
-
My bookmarks have disappeared, and I can't restore them.
today, i was on firefox and suddenly, ALL my bookmark disappeared, including my bookmark toolbar, and all folders. been trying to fix it since then but nothing works. restoring automatic backups is not functioning, and neither is manual restoring fro
-
I'm Polish student who is working in ireland for summer holiday, and question is do i qualifie to get education discount in ireland?
-
Error: "ID = -108" – hardware inadequate?
Hi there I'm working with a very dense vector drawing in Illustrator. There is nothing very complicated – it's just strokes and fills and basic text – but there are hundreds of layers. The file is about 13MB. For final output I probably won't need mo
-
Exporting files from Photoshop Elements 12
I'm trying to export files from Elements 12 but the export option is greyed out. Why?