Problem weblogic with complex types
I have deployed a web service in weblogic 10.3. I have created it with axis, and use complex types. The problem is when I test the WS:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header />
<env:Body>
<PruebaRequest xmlns="http://servicioweb.dispensaciones.es/">
<!--Optional:-->
<result>6</result>
</PruebaRequest>
</env:Body>
</env:Envelope>
Service Response
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header />
<env:Body>
<env:Fault>
<faultcode>env:Server</faultcode>
<faultstring>Server CodecHandler Failed to decode
-> Failed to decode message
</faultstring>
<detail>
<bea_fault:stacktrace xmlns:bea_fault="http://www.bea.com/servers/wls70/webservice/fault/1.0.0">weblogic.wsee.codec.CodecException: Failed to decode message
at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:186)
at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=PruebaRequest@http://servicioweb.dispensaciones.es/
at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:316)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalElement(UnmarshalResult.java:226)
at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshalElement(UnmarshallerImpl.java:166)
at weblogic.wsee.bind.runtime.internal.LiteralDeserializerContext.unmarshalElement(LiteralDeserializerContext.java:89)
at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeElement(BaseDeserializerContext.java:182)
at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeElement(BaseDeserializerContext.java:117)
at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:494)
at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:287)
at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
... 22 more
Caused by: com.bea.xml.XmlException: failed to load java type corresponding to e=PruebaRequest@http://servicioweb.dispensaciones.es/
at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:361)
at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:316)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalElement(UnmarshalResult.java:226)
at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshalElement(UnmarshallerImpl.java:166)
at weblogic.wsee.bind.runtime.internal.LiteralDeserializerContext.unmarshalElement(LiteralDeserializerContext.java:89)
at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeElement(BaseDeserializerContext.java:182)
at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeElement(BaseDeserializerContext.java:117)
at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:494)
at weblogic.wsee.codec.soap11.SoapDecoder.decodeParams(SoapDecoder.java:287)
at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:172)
at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:125)
at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:180)
at weblogic.wsee.ws.dispatch.server.CodecHandler.decode(CodecHandler.java:139)
at weblogic.wsee.ws.dispatch.server.CodecHandler.handleRequest(CodecHandler.java:40)
at weblogic.wsee.handler.HandlerIterator.handleRequest(HandlerIterator.java:141)
at weblogic.wsee.ws.dispatch.server.ServerDispatcher.dispatch(ServerDispatcher.java:114)
at weblogic.wsee.ws.WsSkel.invoke(WsSkel.java:80)
at weblogic.wsee.server.servlet.SoapProcessor.handlePost(SoapProcessor.java:66)
at weblogic.wsee.server.servlet.SoapProcessor.process(SoapProcessor.java:44)
at weblogic.wsee.server.servlet.BaseWSServlet$AuthorizedInvoke.run(BaseWSServlet.java:285)
at weblogic.wsee.server.servlet.BaseWSServlet.service(BaseWSServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3498)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(Unknown Source)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
</bea_fault:stacktrace>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
Could anyone help?
It seems WLS is not comfortable with complex types in WebServices signature. In fact, it seems so for array of classes too. When I exposed a java method with a signature like:
public myClass\[] myMethod(myClass\[] param) {}
I got the same exception. However, the same WebService is working well on oc4j (embedded in jDev)
Edited by: speakingTree on Aug 17, 2009 12:57 AM
Similar Messages
-
Unsupported feature: Faults with Complex types
I am confused about the statement that WebLogic currently does not support Faults
with Complex types. In a pilot project I am working on we did expose custom complex
exceptions and it appeared that WebLogic correctly created the WSDL Fault definitions.
Were we just lucky? Is the recommended approach to only use exceptions that extend
SOAPFault?
This may sound like a strange question because it appears WebLogic handled this
correctly, but the part of the project is to document possible problem areas when
exposing Web Services. If custom Faults are a problem area I need to addres it.
We are working with Weblogic 8.1, but are not using Workshop.
The web service that throws 2 custom exceptions(extend Exception); AvailabilityException
and AvailabilityQueryException
AvailabilityQueryException extends AvailabilityException and has some defined
properties (statusCode and statusText).
The fault definition in the wsdl is below?
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:com.cardinal.mps.availability.ejb"
elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:com.cardinal.mps.availability.ejb">
<xsd:element type="stns:AvailabilityException" name="AvailabilityException">
</xsd:element>
<xsd:element type="stns:AvailabilityQueryException" name="AvailabilityQueryException">
</xsd:element>
<xsd:complexType name="AvailabilityException">
</xsd:complexType>
<xsd:complexType name="AvailabilityQueryException">
<xsd:complexContent>
<xsd:extension base="stns:AvailabilityException">
<xsd:sequence>
<xsd:element type="xsd:string" name="message" minOccurs="1" nillable="true" maxOccurs="1">
</xsd:element>
<xsd:element type="xsd:string" name="statusCode" minOccurs="1" nillable="true"
maxOccurs="1">
</xsd:element>
<xsd:element type="xsd:string" name="statusText" minOccurs="1" nillable="true"
maxOccurs="1">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>Issues around user defined exceptions, to a large part, were resolved in WLS 8.1
SP1
(cf. http://e-docs.bea.com/wls/docs81/notes/resolved.html#1604925 ).
Also, similar issues in the wsdl-to-service approach were resolved in WLS 8.1
SP2 (cf. http://e-docs.bea.com/wls/docs81/notes/resolved.html#1546275).
If you have any specific issues please feel free to contact BEA Support.
Regards
Shridhar
"Brit" <[email protected]> wrote:
>
I am confused about the statement that WebLogic currently does not support
Faults
with Complex types. In a pilot project I am working on we did expose
custom complex
exceptions and it appeared that WebLogic correctly created the WSDL Fault
definitions.
Were we just lucky? Is the recommended approach to only use exceptions
that extend
SOAPFault?
This may sound like a strange question because it appears WebLogic handled
this
correctly, but the part of the project is to document possible problem
areas when
exposing Web Services. If custom Faults are a problem area I need to
addres it.
We are working with Weblogic 8.1, but are not using Workshop.
The web service that throws 2 custom exceptions(extend Exception); AvailabilityException
and AvailabilityQueryException
AvailabilityQueryException extends AvailabilityException and has some
defined
properties (statusCode and statusText).
The fault definition in the wsdl is below?
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:stns="java:com.cardinal.mps.availability.ejb"
elementFormDefault="qualified" attributeFormDefault="qualified" targetNamespace="java:com.cardinal.mps.availability.ejb">
<xsd:element type="stns:AvailabilityException" name="AvailabilityException">
</xsd:element>
<xsd:element type="stns:AvailabilityQueryException" name="AvailabilityQueryException">
</xsd:element>
<xsd:complexType name="AvailabilityException">
</xsd:complexType>
<xsd:complexType name="AvailabilityQueryException">
<xsd:complexContent>
<xsd:extension base="stns:AvailabilityException">
<xsd:sequence>
<xsd:element type="xsd:string" name="message" minOccurs="1" nillable="true"
maxOccurs="1">
</xsd:element>
<xsd:element type="xsd:string" name="statusCode" minOccurs="1" nillable="true"
maxOccurs="1">
</xsd:element>
<xsd:element type="xsd:string" name="statusText" minOccurs="1" nillable="true"
maxOccurs="1">
</xsd:element>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema> -
Assign error with complex type return message
Dear all,
I have an axis web service with complex type return message. When I invoke the web service, and try to assign one element of the result to other variable, it fails with following error message(BPEL Fault:{http://schemas.xmlsoap.org/ws/2003/03/business-process/}selectionFailure{}
The invoking web service and assignment BPEL source is as follows:
<invoke name="registerConference" partnerLink="conferenceCenter" portType="tns:ConfArrangementPort" operation="Conference_Register" inputVariable="registerInput" outputVariable="registerOutput"/>
<copy>
<from variable="registerOutput" part="Conference_RegisterReturn" query="/Conference_RegisterReturn/confcity"></from>
<to variable="bookHotelInput" part="si" query="/si/city"/>
</copy>
I tunneled the response SOAP message:
==== Response ====
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Date: Sun, 31 Oct 2004 08:28:27 GMT
Server: Apache Coyote/1.0
Connection: close
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:Conference_RegisterResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://conference.sjtu.edu">
<ns1:Conference_RegisterReturn href="#id0"/>
</ns1:Conference_RegisterResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:ConfInfo" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://conference.sjtu.edu">
<confcity xsi:type="xsd:string">star</confcity>
<confend xsi:type="xsd:string">20041120</confend>
<confstart xsi:type="xsd:string">20041116</confstart>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
==============
However, when i check the invoke activity audit trail, it return the following info:
<messages>
<registerInput>
<part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="gi">
<gi xmlns="http://conference.sjtu.edu">
<attendeename xmlns="">ss</attendeename>
<confname xmlns="">hh</confname>
</gi>
</part>
</registerInput>
<registerOutput>
<part xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" name="Conference_RegisterReturn">
<ns1:Conference_RegisterReturn xmlns:ns1="http://conference.sjtu.edu" href="#id0" />
</part>
</registerOutput>
</messages>
The detailed value of the return message lost, only leaving the href. Can I find the desired value again? should I try another XPATH expression? should I parse the result from the SOAP message directly? Or it's a problem of the system itself?
Hope you can do me a favor, thanks.From Axis's user guide: RPC services default to the soap section 5 encoding rules, objects will be encoded via "multi-ref" serialization. Document services do not use any encoding (so in particular, you won't see multiref object serialization or SOAP-style arrays on the wire)
May be I should try document service style instead of RPC. Thanks for your reply. -
WCF Service as Data source in SSRS report with Complex Types
Hi All,
I have a requirement where we are suppose to use WCF service as datasource in SSRS. I was able to do that when the WCF response type was simple.
Now the requirement have changed where the response type is complex . I couldn't figure out a way of accessing WCF with complex types.
Any pointer will be of great help as I couldn't find any related articles for this kind of scenario.
RajHi Raj,
WCF uses a serialization engine called the Data Contract Serializer by default to serialize and deserialize data (convert it to and from XML). All .NET Framework primitive types, such as integers and strings, as well as certain types
treated as primitives, such as DateTime and XmlElement,
can be serialized with no other preparation and are considered as having default data contracts. Many .NET Framework types also have existing data contracts. For a full list of serializable types, see Types
Supported by the Data Contract Serializer.
New complex types that you create must have a data contract defined
for them to be serializable. You can explicitly create a data contract by using DataContractAttribute and DataMemberAttribute attributes.
This is normally done by applying the DataContractAttribute attribute
to the type.
You can refer to :
http://msdn.microsoft.com/en-us/library/ms733811(v=vs.110).aspxhttp://www.codeproject.com/Articles/738844/Using-WCF-Data-Contract-Known-Types-by-Example
Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. -
Problem in calling a WS with complex type
Hi all...
I have to invoke a WS that has as input type a complex type defined in the wsdl...
<complexType name="LoginInfo">
- <sequence>
<element name="appCode" nillable="true" type="string" />
<element name="login" nillable="true" type="string" />
<element name="passwd" nillable="true" type="string" />
</sequence>
</complexType>the soapui request looks like this:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:typ="http://com.susan/SusanWS/types">
<soapenv:Header/>
<soapenv:Body>
<typ:LoginWebService>
<LoginInfo_1>
<appCode>WEB_SERVICES</appCode>
<login>root</login>
<passwd>root</passwd>
</LoginInfo_1>
</typ:LoginWebService>
</soapenv:Body>
</soapenv:Envelope>in my java code I'm trying to call it with:
Service service = new Service();
Call call = (Call)service.createCall();
call.setTargetEndpointAddress( new URL( wsEndpoint ) );
// call.setOperationName( wsMethod );
call.setOperationName( new QName("http://com.susan/SusanWS/types",wsMethod));
call.addParameter( "LoginInfo_1", Constants.XSD_ANYTYPE, ParameterMode.IN );
// call.addParameter( "appCode", Constants.XSD_STRING, ParameterMode.IN );
// call.addParameter( "login", Constants.XSD_STRING, ParameterMode.IN );
// call.addParameter( "passwd", Constants.XSD_STRING, ParameterMode.IN );
String[] params={appCode, login, passwd};
// call.setReturnType( Constants.XSD_INT );
// Object retval = call.invoke( new String[] {appCode, login, passwd} );
Object retval = call.invoke( new Object[] { params } );doing so..it doesn't work...the first problem I can see...is that I don't assign a parameter name to the 3 strings I pass in the param array...
anybody has a tip to give me on how to solve this problem?solved...
I imported the wsdl into Intellij idea...which created all the needed classes, interfaces,...and used service locator and endpoint binding stubs... -
Web service call problem with complex types input
We are trying to call a web service and pass as parameter
some complex types. When invoking the web service everything works
well on flex side, but on the server side the input parameters we
get from flex are not correct - complex type is removed and the
elements of the complex type are sent. See the example:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:WebService id="ws_id" wsdl="link" useProxy="false"
fault="wsFault(event)">
<mx:operation id="op_id" name="op"
result="wsResult(event)">
<mx:request>
<parameters>
<parameter1>{value1}</parameter1>
<parameter2>{value2}</parameter2>
<parameter3>{value3}</parameter3>
<parameter4>
<parameter4_1>{value4_1}</parameter4_1>
<parameter4_2>{value4_2}</parameter4_2>
<parameter4_3>{value4_3}</parameter4_3>
</parameter4>
</parameters>
</mx:request>
</mx:operation>
</mx:WebService>
</mx:Application>
on server side we get this:
<parameters>
<parameter1>{value1}</parameter1>
<parameter2>{value2}</parameter2>
<parameter3>{value3}</parameter3>
<parameter4_1>{value4_1}</parameter4_1>
<parameter4_2>{value4_2}</parameter4_2>
<parameter4_3>{value4_3}</parameter4_3>
</parameters>
Instead of :
<parameters>
<parameter1>{value1}</parameter1>
<parameter2>{value2}</parameter2>
<parameter3>{value3}</parameter3>
<parameter4>
<parameter4_1>{value4_1}</parameter4_1>
<parameter4_2>{value4_2}</parameter4_2>
<parameter4_3>{value4_3}</parameter4_3>
</parameter4>
</parameters>
Any idea how is it possible to send complex type as web
service input from flex ?Hi,
I also have similar type of problem where I need to invoke a Web service with Complex input parameters.
I followed Susan's blog but I stuck at a point where methos getItem is created.
Can anyone tell me how to get that method for my requirement.
If possible can you guys share your solutions here.
Thanks in advance. -
Accessing a web service with complex types
Hi I have been struggling with this web service for a while
now....
I am trying to send input parameters that are composed by :
applicant name( name, surname, .....) and applicant input address(
hse no, street, postcode...) Applicant dob(dob)....I am using
<cfscript> tag to pass these parameters...Now my problem is
do i need to put each complex type inside its own <cfscript>
tag???
ie:
stName = structNew();
stName.Title = "#Mr#";
stName.forename = "Man";
stName.othernames = " NA";
stName.Applicant = "Yellow";
stName.suffix="";
stName.dob = createDate(1972,06,05);
and do this for applicant address? or could i enclose this in
under the same cfscript tag??
Any help would be appreciated...thanks
criticalCheck out
http://hcc.musc.edu/research/shared_resources/xml_complex_types_to_cf_structure_notes.cfm
The last part of that link is .cfm - not sure why its getting
cut off. -
I am trying to figure out how to use the AXL API once exploded with the wsimport as explained here...
https://developer.cisco.com/site/collaboration/management/axl/learn/how-to/axl-java-sample-application.gsp
...to use complex types (partition, css, etc).
--> What is the correct way to do it?
Example 1: UpdatePhone
When incorporing a complex type into the addition or update of a component, for instance RoutePartitionName, DevicePoolName or CallingSearchSpaceName.
his function is not working:
public void actualizarPhone(LPhone lPhone) {
try {
UpdatePhoneReq axlParams = new UpdatePhoneReq();
axlParams.setName(lPhone.getName());
axlParams.setDescription(lPhone.getDescription());
axlParams.setDevicePoolName(lPhone.getDevicePoolName());
axlParams.setCallingSearchSpaceName(lPhone.getCallingSearchSpaceName());
StandardResponse response = axlPort.updatePhone(axlParams);
//return response.getReturn()a.toString();
} catch (Exception e) {
logger.error(e);
//return new ArrayList<LPhone>();
It seems the right thing to do set as parameter for the "set" the result of the "get" in line: setDevicePoolName(lPhone.getDevicePoolName());
but it says: "The method setDevicePoolName(JAXBElement<XFkType>) in the type UpdatePhoneReq is not applicable for the arguments (XFkType)"
Example 2: AddLine
I also have this problem when adding line.
And I've tried at least 3 approaches, no success yet:
1)** Using factory object to obtain an R object
ObjectFactory factory = new ObjectFactory();
RRoutePartition rRoutePartition = factory.createRRoutePartition();
rRoutePartition.setName("autodial");
2) ** Trying to create the demanded object: JAXBElement<XFkType> myself.
JAXBElement<XFkType> jaxbElement= new JAXBElement<XFkType>(new QName ("http://www.cisco.com/AXL/API/8.5","XRoutePartition"),XFkType.class,partition);
jaxbElement.setValue(partition3);
line.setRoutePartitionName(jaxbElement);
3)** Using X Objects
XCallForwardBusy fwdBusy = new XCallForwardBusy();
fwdBusy.setForwardToVoiceMail("true");
AddLineReq newLine = new AddLineReq();
XLine line = new XLine();
line.setAlertingName("ALerting Name");
line.setAsciiAlertingName("Alerting Name ASCII");
line.setCallForwardBusy(fwdBusy);
line.setDescription("Description");
line.setPattern("5555");
I would appreciate a clean example about how to add a line setting a partition, and an explanation about how to use JAXBElement<XFkType> objects.
regards!I am trying to figure out how to use the AXL API once exploded with the wsimport as explained here...
https://developer.cisco.com/site/collaboration/management/axl/learn/how-to/axl-java-sample-application.gsp
...to use complex types (partition, css, etc).
--> What is the correct way to do it?
Example 1: UpdatePhone
When incorporing a complex type into the addition or update of a component, for instance RoutePartitionName, DevicePoolName or CallingSearchSpaceName.
his function is not working:
public void actualizarPhone(LPhone lPhone) {
try {
UpdatePhoneReq axlParams = new UpdatePhoneReq();
axlParams.setName(lPhone.getName());
axlParams.setDescription(lPhone.getDescription());
axlParams.setDevicePoolName(lPhone.getDevicePoolName());
axlParams.setCallingSearchSpaceName(lPhone.getCallingSearchSpaceName());
StandardResponse response = axlPort.updatePhone(axlParams);
//return response.getReturn()a.toString();
} catch (Exception e) {
logger.error(e);
//return new ArrayList<LPhone>();
It seems the right thing to do set as parameter for the "set" the result of the "get" in line: setDevicePoolName(lPhone.getDevicePoolName());
but it says: "The method setDevicePoolName(JAXBElement<XFkType>) in the type UpdatePhoneReq is not applicable for the arguments (XFkType)"
Example 2: AddLine
I also have this problem when adding line.
And I've tried at least 3 approaches, no success yet:
1)** Using factory object to obtain an R object
ObjectFactory factory = new ObjectFactory();
RRoutePartition rRoutePartition = factory.createRRoutePartition();
rRoutePartition.setName("autodial");
2) ** Trying to create the demanded object: JAXBElement<XFkType> myself.
JAXBElement<XFkType> jaxbElement= new JAXBElement<XFkType>(new QName ("http://www.cisco.com/AXL/API/8.5","XRoutePartition"),XFkType.class,partition);
jaxbElement.setValue(partition3);
line.setRoutePartitionName(jaxbElement);
3)** Using X Objects
XCallForwardBusy fwdBusy = new XCallForwardBusy();
fwdBusy.setForwardToVoiceMail("true");
AddLineReq newLine = new AddLineReq();
XLine line = new XLine();
line.setAlertingName("ALerting Name");
line.setAsciiAlertingName("Alerting Name ASCII");
line.setCallForwardBusy(fwdBusy);
line.setDescription("Description");
line.setPattern("5555");
I would appreciate a clean example about how to add a line setting a partition, and an explanation about how to use JAXBElement<XFkType> objects.
regards! -
How to invoke a Web Service from PL/SQL with Complex Type as input.
Hello,
I am trying to invoke a web service from PL/SQL using the UTL_DBWS package.
The web service expects a complex type as input (defined below):
<xs:complexType name="MsgType">
<xs:sequence>
<xs:element name="sender" type="xs:string"/>
<xs:element name="messageId" type="xs:string"/>
<xs:element name="messageType" type="xs:string"/>
<xs:element name="dateSent" type="xs:date"/>
</xs:sequence>
</xs:complexType>
How to construct input to this in PL/SQL Procedure?
Has any body tried this before?
An exmaple will be helpful.
ThanksDear,
I have read your article, it is useful for me. But I cannot Apply to my case. Please kindly help me. Thank you.
When running, the error occurs:
1:39:31 Execution failed: ORA-20000: soapenv:Server.userException - org.xml.sax.SAXParseException: Attribute name "password" associated with an element type "user" must be followed by the ' = ' character.
My webservice Url: http://abc.com.vn:81/axis/ABC_WS_TEST.jws?wsdl
I make PL/SQL (similiar as your example)
FUNCTION INVOKESENDMT
RETURN VARCHAR2
AS
l_request soap_api.t_request;
l_response soap_api.t_response;
l_return VARCHAR2(32767);
l_url VARCHAR2(32767);
l_namespace VARCHAR2(32767);
l_method VARCHAR2(32767);
l_soap_action VARCHAR2(32767);
l_result_name VARCHAR2(32767);
p_zipcode VARCHAR2(160);
BEGIN
--p_zipcode:='''TEST'' ; ''TEST'';''84912187098'';''84912187098'';''0'';''8118'';''1'';''000001'';''ThuNghiem'';''''';
p_zipcode:='TEST';
-- Set proxy details if no direct net connection.
--UTL_HTTP.set_proxy('myproxy:4480', NULL);
--UTL_HTTP.set_persistent_conn_support(TRUE);
-- Set proxy authentication if necessary.
--soap_api.set_proxy_authentication(p_username => 'TEST',
-- p_password => 'TEST');
l_url := 'http://abc.com.vn:81/axis/ABC_WS_TEST.jws';
l_namespace := 'xmlns="' || l_url || '"';
l_method := 'sendMT';
l_soap_action := l_url || '#sendMT';
l_result_name := 'sendMTResponse';
l_request := soap_api.new_request(p_method => l_method,
p_namespace => l_namespace);
soap_api.add_parameter(p_request => l_request,
p_name => 'user password sender receiver chargedflag servicenumber messagetype messageid textcontent binarycontent',
p_type => 'xsd:string',
p_value => p_zipcode);
l_response := soap_api.invoke(p_request => l_request,
p_url => l_url,
p_action => l_soap_action);
l_return := soap_api.get_return_value(p_response => l_response,
p_name => l_result_name,
p_namespace => l_namespace);
RETURN l_return;
END; -
@WebParam with complex type
Hi,
I have a web-service method with a complex type parameter
example : Class Person (name, age)
and i have @WebParam(name = "person ") Person person
and i want to get in the soap message the atrribute (name and age ) and not <person/>
Is that possible
Thanks in advance
:)Hi,
more explanation:
@WebMethod
public void printResult(@WebParam(name = "person") Person person)in the request soap message i get :
<log:printResult>
<!--Optional:-->
<person/>
</log:printResult>while I want to get this result :
<log:printResult>
<!--Optional:-->
<person>
<name></name>
<age></age>
</person>
</log:printResult>assuming
public class Person{
private String name;
private int age;
}Thank you
:) -
ASMX webservice with Complex type argument consuming in Biztalk
There is a requirement to consume asmx webservice in biztalk orch.The asmx webservice ,webmethod is having complex type as a argument
For Ex:CalculateFDR(Invoice as invoice) Here Invoice is a class.now consumed an asmx webservice using WCF consume wizard in BizTalk.
In orchestration , when I create the Requestmessage and bind to messagetype with MyFin.CalculateFDRSoapIn.
Now In expression shape when I want pass invoice values as argument to Request message i am getting like below
Msg_ServiceRequest.Parameters. instaed
Msg_ServiceRequest.Invoice.InvoiceNo etc.
Even When I check the multi-partmessage type i found that CalculateFDRSoapIn-Parameters and description of multi-part message type is <wsdl:message name="WriteDBEntrySoapIn"/> messagepart description is <wsdl:part name="parameters"/>
Could you please let me know how to pass Invoice values as a argument for this webservice in Orchestration
Note: We are palnning to use wcf-basichttp adapter.due to this not using webreference option
Regards BizTalkWorshipWhen you consume WCF/Web service using WCF/Web service wizard, it creates multi-part message type representing the contract’s of the parameters exchanged. This multi-part message will have
message part names as “parameters”. This parameter can be of primitive .NET Types type like System.String, System.Int32 etc or it could be of a schema type.
If multipart message’s message part type of Primitive .NET Types, then you can construct the message as you say something like..
Msg_ServiceRequest.InvoiceNo
Here if InvoiceNo could be of any primitive .NET Types.
If it’s of any schema type then you got to construct the schema first either using map (Transform) or in message-assignment. In your case it seems to be the multipart message’s message part
type is that of a schema. So you have to construct the schema using either map (Transform) or in message-assignment.
Regards,
M.R.Ashwin Prabhu
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
Pl Help......Web services with complex types
Hi,
I have deployed a web service on OC4J (9.02) having a complex type input and a complex type return. The web service is implemented as a stateless session bean and
the relevant web.xml for the deployment is:
<servlet>
<servlet-name>ZipLookupManager</servlet-name>
<servlet-class>oracle.j2ee.ws.SessionBeanWebService</servlet-class>
<init-param>
<param-name>jndi-name</param-name>
<param-value>ZipLookupManagerBean</param-value>
</init-param>
<init-param>
<param-name>class-name</param-name>
<param-value>com.indus.banner.components.cdyne.ZipLookupManagerBean</param-va
lue>
</init-param>
<init-param>
<param-name>interface-name</param-name>
<param-value>com.indus.banner.components.cdyne.IZipLookupManager</param-value
>
</init-param>
<init-param>
<param-name>custom-bean-qname</param-name>
<param-value>
com.indus.banner.components.cdyne.LatLongReturn,
http://cdyne.components.banner.indus.com,
LatLongReturn,
org.apache.soap.encoding.soapenc.BeanSerializer,
org.apache.soap.encoding.soapenc.BeanSerializer
</param-value>
</init-param>
<init-param>
<param-name>custom-bean-qname</param-name>
<param-value>
com.indus.banner.components.cdyne.ZipState,
http://cdyne.components.banner.indus.com,
ZipState,
org.apache.soap.encoding.soapenc.BeanSerializer,
org.apache.soap.encoding.soapenc.BeanSerializer
</param-value>
</init-param>
</servlet>
The web service deploys correct. I have all the relevant jars in the %J2EE_HOME%\lib folder. However, when I call the web service from a standalone client I get the following error:
java.lang.ClassNotFoundException:
org.apache.soap.encoding.soapenc.BeanSerializer
at
oracle.j2ee.ws.GeneratedClassLoader.findClass(GeneratedClassLoader.ja
va:48)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
at oracle.j2ee.ws.BaseWebService.initQnameMap(BaseWebService.java:602)
at oracle.j2ee.ws.RpcWebService.init(RpcWebService.java:453)
at
oracle.j2ee.ws.SessionBeanRpcWebService.init(SessionBeanRpcWebService
.java:54)
at javax.servlet.GenericServlet.init(GenericServlet.java:258)
at
com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.
java:1956)
at
com.evermind.server.http.HttpApplication.findServlet(HttpApplication.
java:4355)
at
com.evermind.server.http.HttpApplication.getRequestDispatcher(HttpApp
lication.java:2484)
Please advise!
RizwanHi all,
I haven't heard back from anyone. Is this forum alive still? I have entered a TAR on metalink on this issue but they say that apparently this was a defect under 9.02 and has been fixed under 9.04.
Please help.
Many thanks in advance.
Rizwan -
RPC calls to Operations with complex types is it possible?
Using Remote Procedure Calls, and Document Literal Wrapped SOAP Messages
I have a complex type called
<customerCall>
<custId>
<custPhone>
<custName>
<custCat>
<custIssue>
<custOperator minoccurs = 0>
<custEnrollDate minoccurs = 0 >
I have an operation called getFirstAvailableOperator(currentCall) where current call is an instance of the customerCall type? Where getFirst AvailableOperator returns the complex type customerCall?Using Remote Procedure Calls, and Document Literal Wrapped SOAP Messages
I have a complex type called
<customerCall>
<custId>
<custPhone>
<custName>
<custCat>
<custIssue>
<custOperator minoccurs = 0>
<custEnrollDate minoccurs = 0 >
I have an operation called getFirstAvailableOperator(currentCall) where current call is an instance of the customerCall type? Where getFirst AvailableOperator returns the complex type customerCall? -
Problems working with different types of aggregation in two facts table
Hello every Body!! Greetings from Brazil..
At fisrt I'd like to say that I've tried to find some thead with the same problem, but I've foud no answere. That is why I'm typing this new post.
Here we go ...
I've a Fact table with one metric and two degenerate dimensions..
For exemple:
Invoice_number
Puschase_Date
Purchase_Value$
When I model it at Business Model Mapping, I used the Aggregation's type below:
Invoice_number - None
Puschase_Date - None
Purchase_Value - Sum
So far it works fine at Answeres area.. Since I use only values from this Fact..
But... if I try to join values from two different Facts Table (both of them sharing the same Dimensions) and the Second Fact has an aggregated value, it does'nt work... I get 'null' as values (metrics) of the second Fact Table...
I think that it is caused because I'm working whith different types of aggregation, but I don't know the solution.
By the wat, the second Fact I've told has only one metric, aggregated whith 'SUM'.
Is there a solution? Any hint?
Tks.
Vettoreint x = (int)(7 + 3.0 / 4.0 * 2); //the variable will do the math bracket first. then the va type will still be an int because int was never changed.
Following the standard order of operations, 3.0/4.0 will result in a double, then 2 will be converted to a double before being multiplied to the result, then 7 is converted to a double before being added to the result, and then the (int) cast will force a conversion
back to an int.
Console.WriteLine((1 + 1) / 2 * 3); // 1 + 1 will be done first then 1 / 2 then * by 3
Correct.
I THINK THATS ALL WRONG ^ =/ like the comments
Why? -
Working with complex types of datacontrol
Hi ADF Experts,
I am using JDev 11.1.1.7.0
My requirement is I have a POJO which contains as below
public class OrderProposalReadClient {
public OrderProposalReadClient() {
super();
private String purchaseUnit;
private BigDecimal stock;
// private XMLGregorianCalendar deliveryDate;
private String deliveryDate;
private ArrayList<String> openOrders;
private BigDecimal minStock;
private ArrayList<String> promotions;
//getters and setters
I have another java class whose return type is of List<OrderProposalReadClient> and this is exposed as Data Control.
Now thing is that from the Data Control If I drag the return type as table. I do not find the ArrayList elements.
In DataControl the structure is as such.
returnOrderProposalReadClient
-purchaseUnit
-stock
-deliveryDate
-minStock
-promotions
-element
-openOrders
-element
SO when I drag I dont get these 2 elements(promotions and openorders). I tried to follow Shay's blog but didn't find any helpful solution.
My requirement the table should contain all the elements. And if promotions and open Orders are more than 1 then I should see 2 recored with rest values same.
Please help.
Thanks,
AnimeshHi,
this is because
private ArrayList<String> openOrders;
doesn't return a collection of POJO but Strings. Try
private ArrayList<OrderStrings> openOrders;
and create a class
public class OrderStrings (){
private String openOrders;
public void setOpenOrders(String s){this.openOrders = s;}
public String getOpenOrders(){return this.openOrders}
This should do the trick
Frank
Maybe you are looking for
-
Problem with ACF for Adobe Interactive Forms
Hi Gurus, I had created an adobe interactive form using web dynpro for abap, but I am getting the 500 connection timed out error in the browser when I test the web dynpro application. Where as a normal web dynpro application without adobe form is run
-
[SOLVED] Manual IP configuration
Hi, I have a question about IP configuration. Normally i use: # dhcpcd eth1 to configure my ip address but how do I do it so I can choose my IP manually? Thanks in advance Last edited by zowki (2008-11-27 12:36:54)
-
BAPI_ACTIVITYCRM_CHANGEMULTI not reflecting changes
HI All, I want to update the partner info for an activity. I am updating the Activity in CRM using BAPI_ACTIVITYCRM_CHANGEMULTI and have used BAPI_TRANSACTION_COMMIT after that. No error messages are returned, but the changes are not reflected. Am I
-
FI-CO: 0CO_OM_CCA_1 & 9 Values Types Plan & Actual
Hello Experts, I am working with FI-CO data sources 0CO_OM_CCA_1 and 9. When I check values types from RSA3 extract checker for 0COOM_CCA_1, the values are... 10 Actual 20 Plan 30 Target etc... But the finance user says the valid value types are 1 pl
-
The application HP device monitor quit unexpectedly window keeps popping up
Help I installed driver from HP for my version 10.5.8 and I now get the above message popping up every 5 seconds and I cannot get the printer to work. How can I remove this message and get printer to work wirelessly? I have removed all the files (HP)