Managing XSD types extension
Dear all,
I need to use in a message mapping a message type imported as an external definition.
This message type contains complex types defined as extensions of other types.
For example :
<xsd:complexType name="ProfessionnelType">
<xsd:annotation>
<xsd:documentation>
Classe Professionnel.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<b><xsd:extension base="UtilisateurType"></b>
<xsd:sequence>
<xsd:element name="raisonSociale" type="dico:ProfessionnelRaisonSocialeType" minOccurs="0" /> <xsd:element name="codeAPE" type="dico:ProfessionnelCodeAPEType" minOccurs="0" />
<xsd:element name="numeroSIRET" type="dico:ProfessionnelNumeroSIRETType" minOccurs="0" />
<xsd:element name="clientPrioritaire" type="dico:ProfessionnelClientPrioritaireType" minOccurs="0" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
The problem I have is when I want to use my message type in a message mapping, I only see the fields of the basic types, not the ones of the extended types. So of course I am not able to use the data contained in these fields.
The first workaround I thought about was creating a user-defined function in the mapping that would allow me to access via the java coding the elements I could not see in the graphical interface, but I am not sure it is possible. Is it correct ? Or does someone have a code sample to do this ?
Or is there another solution ? XSLT ? java mapping ? ABAP mapping ?
Thanks in advance for your help.
Best regards,
Julien
PS : the XSDs are provided by the cusomer and I have to use them as they are, I am not allowed to modify them
Hi,
Your xsd is wrong. Use this one. The namespace was missing which is required in any xsd. if you are not getting this from your customer then ask him to provide that. Now i have added and tested and working fine.
<b><?xml version="1.0" encoding="ISO-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"></b>
<xsd:complexType name="ProfessionnelType">
<xsd:annotation>
<xsd:documentation>
Classe Professionnel.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:extension base="UtilisateurType">
<xsd:sequence>
<xsd:element name="raisonSociale" type="dico:ProfessionnelRaisonSocialeType" minOccurs="0" />
<xsd:element name="codeAPE" type="dico:ProfessionnelCodeAPEType" minOccurs="0" />
<xsd:element name="numeroSIRET" type="dico:ProfessionnelNumeroSIRETType" minOccurs="0" />
<xsd:element name="clientPrioritaire" type="dico:ProfessionnelClientPrioritaireType" minOccurs="0" />
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<b></xsd:schema></b>
There is no question of using any other mapping like JAVA or ABAP as you have mentioned.
Regards,
Sarvesh
Similar Messages
-
T400: How to disable the Intel Management Engine Bios Extension?
The first thing my T400 (type 6474-BD2) does at boot up is to initialize the Intel Management Engine Bios Extension.
This takes about 2 minutes before the operating system boots.
Do I really need this?
Is there a way to switch this off?
Thanks,
ArjenIf i'm right, it is Intel AMT - in the BIOS under "Config" - "Intel (R) AMT"
My home-forum: http://www.thinkpad-forum.de
Wiki: Deutsches ThinkPad-Wiki English ThinkWiki
My ThinkPad-Collection -
Integration Repository: change XSD type in data types
Hi,
we created data types for our interface where we used the XSD type float and integer. We built on that Message types and Message interfaces and used them as abstract types in a BPM scenario.
During our test phase we encountered errors with these XSD types and found out that it is better to switch the XSD type to string to get correct values.
However the changes in XSD types are obviously only visible in the Integration Repository. XI creates on Application Server side in the XML Object Type Builder an object which doesn't notice this change. And because of that we get still errors.
So does anyone know how to get this XML Object Type changed? We don't want to delete everything and create new message types?
Thanks in advance,
ChristinaHi Christina,
First go to SXI_CACHE -> Refresh the cache.
Also check for the Repository Cache Refresh/Notifciations..
You mean you have changed the xsd in the External Definition ...
If so , just go to Message Interfaces and just select the External definition once again and activate the same.
If you change the Data types then , if there is a change in field length/type then try to redo/reselect the datat types for the message types and activate once again.
For BPM just change something.. and activate once again..
Also check this blog- to activate Runtime version of the BPM
/people/krishna.moorthyp/blog/2005/11/28/inactive-integration-process-ip-at-run-time
Hope this helps,
Regards,
Moorthy
Message was edited by: Krishna Moorthy P -
Oracles impementation of Canonical xsd types breaks OWL compatibility
We have a problem when handling Oracle Semantic models containing OWL ontologies. We are loosing information about the xsd type of the numbers, so that what the triples we put in are not the same as the triples we get out.
For instance, inserting the triples:
<owl:Restriction>
<owl:onProperty rdf:resource="#hasParent" />
<owl:minCardinality rdf:datatype="&xsd;nonNegativeInteger">2</owl:minCardinality>
</owl:Restriction>
will provide the following answers on the query: SELECT * { ?restriction owl:minCardinality ?cardinality }
restriction
cardinality
_:b0
"2" ^^<http://www.w3.org/2001/XMLSchema#decimal>
Reading from the RDF Semantic Graph Overview, we see this passage:
Duplicate triples are not stored in the database. To check if a triple is a duplicate of an existing triple, the subject, property, and object of the incoming triple are checked against triple values in the specified model. If the incoming subject, property, and object are all URIs, an exact match of their values determines a duplicate. However, if the object of incoming triple is a literal, an exact match of the subject and property, and a value (canonical) match of the object, determine a duplicate. For example, the following two triples are duplicates:
<eg:a> <eg:b> <"123"^^http://www.w3.org/2001/XMLSchema#int> <eg:a> <eg:b> <"123"^^http://www.w3.org/2001/XMLSchema#unsignedByte>
The second triple is treated as a duplicate of the first, because "123"^^<http://www.w3.org/2001/XMLSchema#int> has an equivalent value (is canonically equivalent) to"123"^^<http://www.w3.org/2001/XMLSchema#unsignedByte>. Two entities are canonically equivalent if they can be reduced to the same value.
In other words, it looks like this behaviour is by design, which puts us in a bind. To be OWL compliant, you can't have cardinality restrictions with decimal numbers. (See OWL Web Ontology Language Reference .) And if our ontologies are not OWL compliant, we cannot use reasoners on it, and we must be able to do that.
Do you have any suggestions on how to solve this problem? We need to be able to ask Oracle models for xsd:nonNegativeIntegers, both using SEM_MATCH, and through the jena/joseki- SPARQL endpoint.
Thank you very much in advanceWould use of a function on the minCardinality value (or other non-negative numbers) to associate the appropriate xsd type work for your case? The example below shows it for SEM_MATCH only.
SQL> -- check content
select s$rdfterm, p$rdfterm, o$rdfterm
from table(sem_match('
SELECT * { ?s ?p ?o }
',sem_models('m1'),null,null,null,null,' PLUS_RDFT=VC '))
SQL> 2 3 4 5
S$RDFTERM
P$RDFTERM
O$RDFTERM
_:m1mb1
<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>
<http://www.w3.org/2002/07/owl#Restriction>
_:m1mb1
<http://www.w3.org/2002/07/owl#minCardinality>
"2"^^<http://www.w3.org/2001/XMLSchema#decimal>
_:m1mb1
<http://www.w3.org/2002/07/owl#onProperty>
<http://properties#hasParent>
SQL> SQL>
SQL> -- query
select (case when (floor(cardinality) = cardinality and cardinality >= 0) then
'"' || cardinality || '"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger>'
else cardinality$rdfterm
end) cardinality$rdfterm
from table(sem_match('
SELECT * { ?restriction owl:minCardinality ?cardinality }
',sem_models('m1'),null,null,null,null,' PLUS_RDFT=VC '))
SQL> 2 3 4 5 6 7 8
CARDINALITY$RDFTERM
"2"^^<http://www.w3.org/2001/XMLSchema#nonNegativeInteger>
SQL> SQL> -
Hello,
I am extending the segment E2EDKA3 in ORDERS05. Please let me know any user exit or any other way to populate the values in the extended segments.
I am adding these fields: VBPA-KUNNR,VBPA-ADRNR,VBPA-XCPDK & VBPA-ADRNP .
Thanks in advance,
SureshHi Suresh,
Go through this info ucan able to do.
Enhancement of IDoc Type
Usually enhancement takes place when the content in IDocs provided by SAP are not sufficient for the business process. IDoc extension can take place whenever dictionary table has a new structure appended required by the business process.
In brief IDoc extension takes place when extra fields are required for the business process.
Let us take a scenario and understand the process of IDoc extension.
In this scenario say visitor is different from the actual customer who has came to the sales office in behalf of the customer to obtain the quotation or inquiry etc. Or an authorized agent qualified by the actual customer to order for items. So a field by name NAMEVI (Visitor) is added to Customer master data. As there is no provision given by SAP to handle this, we need to extend an IDoc.
The standard message type and IDoc type provided by SAP are DEBMAS and DEBMAS05.
Consider the data in the table below for extending the IDoc. These details can be understood in different sections in the process of extending it.
Basic IDoc type DEBMAS05
Version 4.7
IDoc extension DEBMASEXT
Custom segment Z1KNA1
Fields in Custom Segment Visitor
Parent of Custom Segment E1KNA11
Outbound process
Step1. Customize kna1 table by appending a structure provided by SAP (ZAKNA1)
Component Component Type
VISITOR NAMEVI
Step2: Write a module pool program to update some existing customers to add data for Visitor.
Step3: Create a custom segment
Transaction Code: WE31
Segment type: Z1KNA11 Click (create). Provide short text
Field Name Data element
VISITOR NAMEVI
Save
Step4: Create IDoc extension
Transaction WE30
Object Name DEBMASEXT
Choose Extension
Click and it leads to next screen.
Linked basic type: DEBMAS05
Provide description and enter
Observe all the segments to be copied into your IDoc extension from linked basic
type.
Select E1KNA11 and click (create segment) to obtain a popup window
Provide the required values and observe child segment Z1KNA11 to be added to
parent segment E1KNA11.
Step5: Release segment and IDoc extension
Transaction: WE31
Segment type: Z1KNA11
Path: Edit à Set release
Step6: Assign Basic type to extension / messages
Transaction: WE82
Click , then
Select DEBMAS message type against DEBMAS06 basic type
Click provide the information
Message Type Basic Type Extension Version
DEBMAS DEBMAS06 DEBMASEXT 4.7
Delete the earlier one from which it was copied.
Save.
Observe the result as follows
Step 7: Check and Transport IDoc extension
Transaction: WE30
Object name: DEBMASEXT
Path: Development object à Check
Ensure that there are no errors or warnings
Now transport
Path: Development à Transport
Step8: Find suitable user exit for writing code to support IDoc extension
Transaction: SE84.
Click Enhancements
In short text provide customer
Find suitable enhancement to be VSV00001
Alternative way
Transaction: SMOD
Click F4 help for Enhancement
Path: F4help à SAP Applications à Logistics general à Logistics Basic Data à
Business partners à Vendor Master.
Find the enhancement as VSV00002, which is an approximate user exit.
Now search for different extensions like VSV00001. Then see for its components.
Identify the appropriate user exit to be EXIT_SAPLVV01_001 (Create Export of
Additional Customer Master Segments). This user exit can be used in outbound ALE
process, meant for filling the data into custom segments.
You have to identify here another user exit as EXIT_SAPLVV02_001, which is
helpful for inbound ALE process. This user exit can be used to read the segments
and post it to Application repository.
Step9: Develop a project to encapsulate enhancements and components.
Transaction: CMOD.
Enhancement: custex and click Create to provide attributes.
Click Enhancement Assignments.
Provide VSV00001, short text and save.
From the initial screen of the transaction, select components and click change.
Find 4 components to be added.
Activate them.
Select user exit EXIT_SAPLVV01_001 for outbound process and double click it. It leads to function builder.
Double click on provided include program ZXVSVU01 and press enter.
Now, write supporting code for IDoc extension, i.e., populating custom segments in IDoc.
Check the code and activate.
Code in ZXVSVU01
*& Include ZXVSVU01 *
*In this scenario, the E1KNA11 has been extended to accommodate
*User-defined fields in the customer table kna1. The name of the
*extended
*segment is z1kna11. There is one custom field: visitor
*Data declarations
DATA: kna1m like e1kna1m,
kna11 like e1kna11,
z1kna11 like z1kna11,
w_kna1 like kna1.
make sure you are processing correct message type
check message_type eq 'DEBMAS'.
make sure data is added after the correct segment
check segment_name eq 'E1KNA1M'.
since customer number is not passed in this user exit, you need to go
through the data records to find the customer number
loop at idoc_data.
case idoc_data-segnam.
when 'E1KNA1M'.
move idoc_data-sdata to kna1m.
when 'E1KNA11'.
move idoc_data-sdata to kna11.
endcase. " case idoc_data-segname.
endloop. " loop at idoc_data.
select data from the user-defined fields in kna11.
select single *
from kna1 " Customer master table
into w_kna1
where kunnr = kna1m-kunnr.
if sy-subrc eq 0.
set the idoc extension name for control record
idoc_cimtype = 'DEBMASEX'.
clear custom fields from kna1 to extended segment
clear z1kna11.
copy custom fields from kna1 to extended segment
move-corresponding w_kna1 to z1kna11. " field name must be same
condense all fields of extended segment
condense: z1kna11-visitor.
populate segment name in the data record, copy data contents into it
and append the data record to existing data records in
move 'Z1KNA11' TO IDOC_data-segnam. " administrative section
move z1kna11 to idoc_data-sdata. " data section
append idoc_data.
endif. " if sy-subrc eq 0.
Step 10:
Define Logical System
Assign client to Logical System
Maintain RFC Destination
Maintain Customer Distribution Model
Generate Partner Profiles
Distribute Customer Distribution Model
INBOUND PROCESS
Step 11: Append the custom structure to the table KNA1 similar to the process done
in outbound process.
Step 12.
Define Logical System
Assign client to Logical System
Generate Partner Profiles
Step 13. Execute the transaction to Send Customers from Outbound system.
Step 14. Now in the Inbound system, create the project in the similar way as done at
outbound side.
In the user exit EXIT_SAPLVV02_001, find include ZXVSVU02. Write the code to
support IDoc extension.
Code in ZXVSVU02
*& Include ZXVSVU02 *
data: kna1m like e1kna1m,
kna11 like e1kna11,
z1kna11 like z1kna11.
data fs_kna1 type kna1.
message i000(0) with 'INBOUND PROCESS CALLED'.
LOOP AT IDOC_data.
case idoc_data-segnam.
when 'E1KNA1M'.
kna1m = idoc_data-sdata.
when 'E1KNA11'.
kna11 = idoc_data-sdata.
when 'Z1KNA11'.
z1kna11 = idoc_data-sdata.
select single *
from kna1
into fs_kna1
where kunnr = kna1m-kunnr.
if sy-subrc eq 0.
update kna1
set visitor = z1kna11-visitor
where kunnr = kna1m-kunnr.
else.
idoc_status-docnum = idoc_control-docnum.
idoc_status-status = '51'.
idoc_status-msgty = 'E'.
idoc_status-msgid = 'ZE'.
idoc_status-msgno = '005'.
idoc_status-msgv1 = kna1m-kunnr.
append idoc_status.
endif. " if sy-subrc eq 0.
endcase. " case idoc_data-segnam.
endloop. " LOOP AT IDOC_data.
Step 15. Assign FM to extension/Message type
Transaction: WE57
Path: Change à New Entries
Select IDOC_INPUT_DEBITOR against DEBMAS06 basic type, to fill extra
information as shown below.
Function Module Basic Type Message Type Extension
IDOC_INPUT_DEBITOR DEBMAS06 DEBMAS DEBMASEXT
Step 16. Execute the transaction to Get Customers.
And observe that records with extra data are saved in database.
Rewards some points.
Rgds,
P.Nag -
.pdf File Type Extension reverts to nothing after restart
Adobe reader works correctly however after I restart the computer the Default File Type Extension resets to nothing for .pdf extensions.
I have reinstalled Adobe reader, done sfc /scannow, used a registry repair, manually changed the file extension type through windows.
Again everything works, and after I change the file extension type it will stay changed until restarting the computer then it reverts to no known file type extension and I have to right click open with.
Thoughts on this? Thanks in advance.If you look at your PDF files with Windows Explorer (after the extension has "disappeared"), what does it show in the Type column?
-
Bin to bin transfer from SU managed storage type to NON SU storage type
Hi Experts ,
Kindly guide as how i can perform Bin to bin transfer from SU managed storage type to NON SU storage type
Thanks
JinoyThere is no particular technique for this. You can use single or collective method (LT01 or LT10).
Provide the source SU and destination storage type and bin and save the TO. Your transfer will be complete.
The SU number will be lost because you have moved the stock to a non SU storage type.
Regards,
Aroop -
SUT Error at TO Creation from Non-SU to SU managed Storage type
Hi
I am creating TO to move quants from Non-SU Manged Storage type to SU managed Storage type, but at first its giving error saying Enter SUT for storage type. These Non-SU managed Storage types are not having SUT Check but SU Managed storage type is having SUT Check.
I tried to update WM view-2 with SUT and palletization but still issue exists.
I am having batch job for RLAUTA10 where TR is converted to TO but due to above issue , this batch job is getting failed.
I am deseperately trying to find the root cause and fix this asap. Let me know how this issue can be resolved??
ThanksLike I mentioned earlier in my posts, SU's are typically not managed in interim storage types. Apparently, in this case, the PSA is an SU managed location and you are trying to move inventory from a non-SU ST to SU PSA ST. The isse that you are encountering is due to the reason that the palletization data maintained in the material master is defaulted during receipts rather than staging therefore, the SUT field in the TR remains blank. But, due to business reasons you are using SU's in PSA's then you'd have to venture into development options to include SU types during automatic converion of staging TRs into TOs.
-
CFHTTP problem - is file-type extension required
Hello,
Running CF8 on Win2003/IIS.
I have the following simple code to check a value from another server:
<cfhttp method="get" URL= "http://server.somewhere.com/websvc/util?a=doHTMLRequest&event=workgroupstat" throwonerror="yes">
<cfset theContent = "#cfhttp.FileContent#">
<cfoutput>#theContent#</cfoutput>
I have also tried:
<cfhttp
method="get"
url="http://server.somewhere.com/websvc/util"> (with and without the ? after the word util)
<cfhttpparam name="a" type="URL" value="doHTMLRequest">
<cfhttpparam name="event" type="URL" value="workgroupstat">
</cfhttp>
The URL that is shown above returns nothing when using it within CFHTTP. If I change the URL to http://www.google.com or whatever I get the code of that page assigned to my theContent variable as expected
From a browser, the URL used in the cfhttp function above works fine. The request returns a simple HTML file with the following code from which I need to pull the agents_available data:
<HTML><HEAD><TITLE>Agents Available</TITLE></HEAD><BODY><H2>workgroup:Chat</H2><H2>agents_available:1</H2><H2>agent s_logged_in:1</H2></BODY></HTML>
I cannot understand why I can call any other page from the internet (and our network) and put it into my theContent variable but I can't call this one. Could it be something in the structure of the URL??
I'm thinking that the CFHTTP function cannot properly format the request without the file-type extension.
Any ideas are appreciate. Regards, JerryHi Ian,
I tried your suggestions. Used Firefox with FireBug and LiveHTTP Headers and nothing appears out of the ordinary except the Content-Length which is always 0. It's not being redirected. The response is 200 OK.
i.e.:
cfhttp.errorDetail:
cfhttp.text: YES
cfhttp.statusCode 200 OK
cfhttp.MIMEType Unable to determine MIME type of file.
cfhttp.header HTTP/1.1 200 OK Set-Cookie: JSESSIONID=88760F22E9FA8717DE807D6F1F758E9A; Path=/websvc Date: Thu, 04 Jun 2009 17:04:37 GMT Content-Length: 0 Server: Microsoft-IIS/6.0 X-Powered-By: ASP.NET
But when the URL is called directly from a browser the Content-Length is not 0. It is 148 bytes.
I'm using:
<cfset Mokrynski.PageName = "_">
<cfsetting showdebugoutput="no">
<!---cfhttp method="get" url="http://server.somewhere.com/websvc/util">;
<cfhttpparam name="a" type="URL" value="doHTMLRequest">
<cfhttpparam name="event" type="URL" value="workgroupstat">
</cfhttp--->
<cfhttp method="get" url="http://server.somewhere.com/websvc/util?a=doHTMLRequest&event=workgroupstat" />
<cfset agentCount = (cfhttp.fileContent)>
<cfoutput>#agentCount#</cfoutput>
<cfoutput> <p>cfhttp.errorDetail: #cfhttp.errorDetail#</p>
<p>cfhttp.text: #cfhttp.text#</p>
<p>cfhttp.statusCode #cfhttp.statusCode#</p>
<p>cfhttp.MIMEType #cfhttp.MIMEType#</p>
<p>cfhttp.header #cfhttp.header#</p>
</cfoutput>
Note that there are two methods I've used - 1 used commentd out in this code. If i change the url in the cfhttp function to ANYTHING else I get the expected result - goog.com, our site, cnn.com, whomever but not from this URL which clearly works from a browser.
Thanks, Jerry -
JWSDP and complex type extension problem
Hy,
We got a problem with JAX-RPC reference implementation. It seems it doesn't support inheritance beetween complex types as web services parameters or return value. A Parse exception happens when client code deserializes base class members. Does anyone know about this problem ? We don't have it with Apache Axis implementation (on client side). In our case, server code always runs in C++ with gSOAP.
And the stacktrace :
deserialization error: unexpected XML reader state. expected: END but found: START: longitude
Here our wsdl file :
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Service"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:SOAP="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:WSDL="http://schemas.xmlsoap.org/wsdl/"
targetNamespace="urn:ass"
xmlns:tns="urn:ass"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:WAT="urn:ass/WAT.xsd"
xmlns:ifg="urn:ass">
<types>
<schema
xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="urn:ass/WAT.xsd"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:WAT="urn:ass/WAT.xsd"
xmlns:ifg="urn:ass">
<complexType name="Date">
<sequence>
<element name="time" type="xsd:long" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="DateStruct">
<all>
<element name="inst" type="WAT:Date" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="IcaoCode">
<sequence>
<element name="s" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="isAlphaNum" type="xsd:boolean" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="IcaoCodeStruct">
<all>
<element name="inst" type="WAT:IcaoCode" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Ident">
<sequence>
<element name="Id" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
<element name="Text" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="IdentStruct">
<all>
<element name="inst" type="WAT:Ident" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Latitude">
<sequence>
<element name="s" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="LatitudeStruct">
<all>
<element name="inst" type="WAT:Latitude" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Longitude">
<sequence>
<element name="s" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="LongitudeStruct">
<all>
<element name="inst" type="WAT:Longitude" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Notam">
<sequence>
<element name="Id" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<element name="Text" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="NotamStruct">
<all>
<element name="inst" type="WAT:Notam" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="Pib">
<sequence>
<element name="Id" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<element name="Name" type="xsd:string" minOccurs="1" maxOccurs="1" nillable="true"/>
</sequence>
</complexType>
<complexType name="PibStruct">
<all>
<element name="inst" type="WAT:Pib" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="AirField">
<sequence>
<element name="longitude" type="WAT:Longitude" minOccurs="1" maxOccurs="1"/>
<element name="latitude" type="WAT:Latitude" minOccurs="1" maxOccurs="1"/>
<element name="codeICAO" type="WAT:IcaoCode" minOccurs="1" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="AirFieldStruct">
<all>
<element name="inst" type="WAT:AirField" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
<complexType name="SunTime">
<complexContent>
<extension base="WAT:AirField">
<sequence>
<element name="sunriseTime" type="WAT:Date" minOccurs="1" maxOccurs="1"/>
<element name="sunsetTime" type="WAT:Date" minOccurs="1" maxOccurs="1"/>
<element name="heuresCalculees" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<element name="heuresExistent" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</sequence>
</extension>
</complexContent>
</complexType>
<complexType name="SunTimeStruct">
<all>
<element name="inst" type="WAT:SunTime" minOccurs="1" maxOccurs="1"/>
<element name="coderet" type="xsd:int" minOccurs="1" maxOccurs="1"/>
</all>
</complexType>
</schema>
</types>
<message name="getSuntimeRequest">
<part name="req" type="xsd:string"/>
</message>
<message name="SunTimeStruct">
<part name="inst" type="WAT:SunTime"/>
<part name="coderet" type="xsd:int"/>
</message>
<portType name="ServicePortType">
<operation name="getSuntime">
<documentation>Service definition of function ifg__getSuntime</documentation>
<input message="tns:getSuntimeRequest"/>
<output message="tns:SunTimeStruct"/>
</operation>
</portType>
<binding name="ServiceBinding" type="tns:ServicePortType">
<SOAP:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getSuntime">
<SOAP:operation soapAction=""/>
<input>
<SOAP:body use="encoded" namespace="urn:ass" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<SOAP:body use="encoded" namespace="urn:ass" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="Service">
<documentation>gSOAP 2.1.10c generated service definition</documentation>
<port name="ServicePort" binding="tns:ServiceBinding">
<SOAP:address location="http://location/Service.cgi"/>
</port>
</service>
</definitions>Try using the -f:searchschema feature of wscompile when generating the client stubs from your WSDL file.
-
Call manager and type of Voip phones
Just wanted to thank everyone for the help.
My background is Telepresence and minimal on Call Manager 8.
Just wanted to ask if I can somehow pull a list of all type of phones connected to the call manager - we currently have 7942 and 7975. I need the list which phone number is using which type of phone.Hi Mark,
Here are 3 suggestions:
1) Goto Device > Phone, add the 'Directory Number' and 'Device Type' as search criteria and click 'Find'. This is limited as it can't be exported.
2) Run the following SQL Query:
SELECT d.name, n.dnorpattern, dn.numplanindex, m.name as Model FROM numplan AS n JOIN devicenumplanmap AS dn ON n.pkid=dn.fknumplan JOIN device AS d ON d.pkid=dn.fkdevice JOIN typemodel AS m ON d.tkmodel=m.enum JOIN typeclass AS c ON d.tkclass=c.enum WHERE c.name="Phone" ORDER BY m.name, d.name, dn.numplanindex
3) Use a 3rd Party product to extract and export the required data such as PhoneView from UnifiedFX
PhoneView is the most advanced endpoint management product available including the ability to gather extensive device/user information and then interact and export that data.
Thanks
Stephen Welsh
CTO
http://www.unifiedfx.com -
Handling XSD type long in BPEL with empty data
Hi Guys,
I have XSD that has element with datatype long and but not passing any value.
I am getting below error :
Caught exception while handling request: deserialization error: java.lang.NumberFormatException: For input string:
Here is the request message:
<messages><input><Invoke_1_insertRequest_InputVariable><part xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="parameters"><insertRequest xmlns="http://persistence.myhost.com/">
<RequestType_1>
<sId/>
<rID>100</requestID>
<aNumber/>
<requestProcess/>
</RequestType_1>
</insertRequest>
</part></Invoke_1_insertRequest_InputVariable></input><fault><remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>Client</code>
</part><part name="summary"><summary>Caught exception while handling request: deserialization error: java.lang.NumberFormatException: For input string: ""</summary>
</part><part name="detail"><detail>null</detail>
</part></remoteFault></fault></messages>
WSDL file used for Partner link :
<?xml version = '1.0' encoding = 'UTF-8'?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://persistence.myhost.com/" name="PersistenceSessionEJBWebServiceService" targetNamespace="http://persistence.myhost.com/">
<types>
<schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://persistence.myhost.com/" elementFormDefault="qualified">
<complexType name="RequestType">
<sequence>
<element name="sId" type="long" nillable="true"/>
<element name="rID" type="long"/>
<element name="accNumber" type="long" nillable="true"/>
<element name="requestProcess" type="tns:ListOfRequestProcessType" nillable="true"/>
</sequence>
</complexType>
<complexType name="ListOfRequestProcessType">
<sequence>
<element name="item" type="tns:RequestProcessType" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
<element name="test" type="string" nillable="true"/>
</sequence>
</complexType>
<complexType name="RequestProcessType">
<sequence>
<element name="retryCount" type="int"/>
<element name="state" type="string" nillable="true"/>
<element name="requestProcessId" type="long"/>
</sequence>
</complexType>
<element name="insertRequest" type="tns:insertRequest"/>
<complexType name="insertRequest">
<sequence>
<element name="RequestType_1" type="tns:RequestType" nillable="true"/>
</sequence>
</complexType>
<element name="insertRequestResponse" type="tns:insertRequestResponse"/>
<complexType name="insertRequestResponse">
<sequence>
<element name="return" type="tns:RequestType" nillable="true"/>
</sequence>
</complexType>
</schema>
</types>
<message name="PersistenceSessionEJBWebService_insertRequest">
<part name="parameters" element="tns:insertRequest"/>
</message>
<message name="PersistenceSessionEJBWebService_insertRequestResponse">
<part name="parameters" element="tns:insertRequestResponse"/>
</message>
<portType name="PersistenceSessionEJBWebService">
<operation name="insertRequest">
<input message="tns:PersistenceSessionEJBWebService_insertRequest"/>
<output message="tns:PersistenceSessionEJBWebService_insertRequestResponse"/>
</operation>
</portType>
<binding name="PersistenceSessionEJBWebServiceSoapHttp" type="tns:PersistenceSessionEJBWebService">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="insertRequest">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="PersistenceSessionEJBWebServiceService">
<port name="PersistenceSessionEJB" binding="tns:PersistenceSessionEJBWebServiceSoapHttp">
<soap:address location="http://myhost:8888/persistence/PersistenceSessionEJB"/>
</port>
</service>
</definitions>Hi,
The Web Service you are calling is trying to create a long type variable, even you are not passing anything.
Pass 0 for SId, it will work.
Other solution is to modify the schema definition in the WSDL if you can.
If an element is not mandatory then you should specify minOccurs="0" and avoid passing null elements like <SId/> because some XML deserializers try to parse and instantiate an element even you have specified nillable=true in schema definition.
Change <element name="sId" type="long" nillable="true"/> with <element name="sId" type="long" minOccurs="0" nillable="true"/>
and don's pass an element if it is empty.
If you are using Assign activity, it will create empty element if you don't assign value to an element. Use transform activity and if check for empty elements.
Dharmendra
http://soa-howto.blogspot.com -
Hi I have a xsd for the inut of my BPEL process with one of the fields being of type int. (<xsd:element name="source_id" type="xsd:int">)
However if I call this process from another BPEL process passing a string as parameter I don't receive an error? Is this correct? Shouldn't it validate the type and throw an error on if it don't match?
Thanks
MarinusHi Marinus,
There is a property in Bpel called "validateXML". You can find it in :
Oracle BPEL Control under Manage BPEL Domain > Configuration
By default is set to false .
If you set to true, the Oracle BPEL Process Manager applies schema validation for incoming and outgoing XML documents.
Regards ,
Mihai -
This is a variation on the issue mentioned in this
post
We are using SP 2010 Content Hub to manage our content types. On the content hub we've created a couple of exteranl lists, and then created some site columns as lookups against these lists. We then added the columns to one of our content types
and set it to publish.
After the publishing job executed, I tried adding the content type (which now appears on the subscriber sites) to one of the document libraries on one of the subscriber sites. When I did that it threw the following error:
Microsoft.SharePoint.WebControls.BusinessDataListConfigurationException: Id field is not set on the external data field
at Microsoft.SharePoint.SPBusinessDataField.CreateIdField(SPAddFieldOptions op)
at Microsoft.SharePoint.SPBusinessDataField.OnAdded(SPAddFieldOptions op)
at Microsoft.SharePoint.SPFieldCollection.AddFieldAsXmlInternal(String schemaXml, Boolean addToDefaultView, SPAddFieldOptions op, Boolean isMigration, Boolean fResetCTCol)
at Microsoft.SharePoint.SPContentType.ProvisionFieldOnList(SPField field, Boolean bRecurAllowed)
at Microsoft.SharePoint.SPContentType.ProvisionFieldsOnList()
at Microsoft.SharePoint.SPContentType.DeriveContentType(SPContentTypeCollection cts, SPContentType& ctNew)
at Microsoft.SharePoint.SPContentTypeCollection.AddContentTypeToList(SPContentType contentType)
at Microsoft.SharePoint.SPContentTypeCollection.AddContentType(SPContentType contentType, Boolean updateResourceFileProperty, Boolean checkName, Boolean setNextChildByte)
at Microsoft.SharePoint.SPContentTypeCollection.Add(SPContentType contentType)
at Microsoft.SharePoint.ApplicationPages.AddContentTypeToListPage.Update(Object o, EventArgs e)
at System.Web.UI.WebControls.Button.OnClick(EventArgs e)
at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument)
at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) b55297ed-717f-466d-8bdc-297b20344d3f
I checked the external content type configuration and it did specify an "id column". Anyone know if what I am attempting to do is possible and if so, what special configurations are required?
ThanksThe issue is not External Content type or external list but the look up column.
It's not possible to publish a look up column via the Content Type Hub.
If you need to do this then an alternate way is to use a Managed Metadata column instead, otherwise you will have to implement this via a feature.
Varun Malhotra
=================
If my post solves your problem could you mark the post as Answered or Vote As Helpful if my post has been helpful for you. -
SMD Error in managed system type PI 7.1 EHP1 Step Logical Ports error
Hi people,
Solution Manager Ehp1 7.0 SPS24
I am currently runnig the wizard setup for managed System, everything is fine but when I run for PI 7.1 I get the following error:
Fri Sep 10 20:29:48 2010 Logical Ports A failure occured while creating the logical port for JAVA XI : PORT_NOT_CREATED
Step Logical Ports Details
A failure occured while creating the logical port for JAVA XI : PORT_NOT_CREATED
!! Exception : PORT_NOT_CREATED
Exceptions
com.sap.mw.jco.JCO$AbapException: (126) PORT_NOT_CREATED: PORT_NOT_CREATED
at com.sap.mw.jco.MiddlewareJRfc$Client.execute(MiddlewareJRfc.java:1511)
at com.sap.mw.jco.JCO$Client.execute(JCO.java:3980)
at com.sap.mw.jco.JCO$Client.execute(JCO.java:3514)
at com.sap.sup.admin.setup.SolManRfcAdapter.createXIlogicalPort(SolManRfcAdapter.java:185)
at com.sap.sup.admin.setup.SetupStep.runExec(SetupStep.java:427)
at com.sap.sup.admin.setup.SetupStep.execute(SetupStep.java:335)
at com.sap.smd.agent.plugins.remotesetup.SapInstance.setup(SapInstance.java:549)
at com.sap.sup.admin.setup.SapCluster.setup(SapCluster.java:1695)
at com.sap.sup.admin.setup.SapCluster.access$000(SapCluster.java:35)
at com.sap.sup.admin.setup.SapCluster$SetupRunner.run(SapCluster.java:1965)
at java.lang.Thread.run(Thread.java:534)
Any ideas?
Thanks in advanceHi everyone,
Thanks everyone.
Guilherme, finally I understand what really happens. "Refresh" is not working properly in the Setup Wizard.
First I have done what I can:
System Type Managed Products Product Instances
DPI ABAP SAP Netweaver PI 7.1 Application Server ABAP (I could not select PI at the same time)
DPI JAVA SAP Netweaver PI 7.1 Application Server Java + Process Integration
But, when I refresh the browser Internet Explorer appears the following:
System Type Managed Products Product Instances
DPI ABAP SAP Netweaver PI 7.1 Application Server ABAP + Process Integration
DPI JAVA SAP Netweaver PI 7.1 Application Server Java + Process Integration
And then I do not get the error anymore. (I have to repeat step 2 in the wizard "Check Prerequisites for Diagnostics)
And If I run transaction SMSY, I can see how PI is mantained since the wizard refresh SMSY.
Product Instance Selection tab:
Application Server ABAP (Flag selected: relevant)
Process Integration (Flag selected: Also Installed, Technical System[ DPI, Java])
Application Server Java (Flag selected: relevant, Technical System[ DPI, Java])
So, if I use this configuration in the SMSY, when I run "solman_setup", configuring DPI (My PI7.1), when I run "Configure Diagnostics", the wizard shows ABAP + PI as expected.
Thanks a lot Guilherme!!
Maybe you are looking for
-
Request for info. on USER EXIT/BADI for FB60
Hi, This is with reference to FB60 user exit/badi for with holding tax.I want to use the customized table for withholding tax. ]Please guide some alternative solution rather than user exit and badi. I dont think the following user exit and badi are u
-
How do I record lossless audio?
Thinking of getting a Pono player and will need to burn audio using ALAC/FLAC. Have no idea what all this is. Any suggestions on where to go for information?
-
Since upgrading, I cannot open buttons or links in gmail. I use safari. If I click the link, I have to force quit the application for safari web content. Thanks.
-
Sleep mode question : MAC OS 10.8.4
Lately my iMac is taking 30 secs to go to sleep. Does anyobe know the reason why?
-
Anybody tried using the Map Loader PC App? Any Luck? Mine always says the server is offline or connectivity interrupted... N8-00,Galaxy Tab 10.1